#java #maven #groovy
Вопрос:
У нас есть java и код groovy как часть одного и того же проекта. Мы столкнулись с проблемой при компиляции этого кода вместе.
Ранее в рамках проекта у нас был только java-код. Позже нам пришлось добавить отличный код. Мы используем библиотеку ломбок в нашем java-коде.
Чтобы скомпилировать оба кода вместе, мы добавили компилятор groovy-eclipse в наш pom.xml файл. Поскольку основной проект имел большую кодовую базу, чтобы сосредоточиться только на этой проблеме, мы использовали для решения небольшой примерный проект. ниже приведены фрагменты только из этого примера проекта.
у нас есть следующий классный сценарий
package com.emp.grv.sample;
import groovy.json.*
import groovy.text.*
class SurveyProcessor {
def print() {
println("Hello World");
}
}
это наш класс java
import com.tds.grv.sample.*;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class ImportSurvey
{
private String aim;
public static void main(String[] args)
{
SurveyProcessor processor = new SurveyProcessor();
processor.print()
}
}
Мы используем версию groovy — 3.0.8, а jdk-это версия 11.
Ниже приведен фрагмент из нашего pom.xml
<plugin>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>3.7.0</version>
<extensions>true</extensions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<useIncrementalCompilation>false</useIncrementalCompilation>
<verbose>true</verbose>
<fork>true</fork>
<showWarnings>true</showWarnings>
<compilerArguments>
<javaAgentClass>lombok.launch.Agent</javaAgentClass>
</compilerArguments>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>3.7.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>3.0.8-01</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.18</version>
</dependency>
</dependencies>
</plugin>
Когда мы выполняем чистую компиляцию mvn, мы получаем следующую ошибку.
[WARNING] Error output from groovy-eclipse compiler:
argument type mismatch
Не уверен, что именно является причиной этого. Пожалуйста, помогите нам решить эту проблему.
ниже приведен вывод команды mvn clean compile
[INFO] Scanning for projects...
[INFO] gitflow-incremental-builder is disabled.
[INFO]
[INFO] ---------------------< com.baeldung:core-groovy-2 >---------------------
[INFO] Building core-groovy-2 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ core-groovy-2 ---
[INFO] Deleting D:sourcessamplestutorialscore-groovy-2target
[INFO]
[INFO] --- directory-maven-plugin:0.3.1:directory-of (directories) @ core-groovy-2 ---
[INFO] Directory of com.baeldung:parent-modules set to: D:sourcessamplestutorials
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install-file (install-jar-lib) @ core-groovy-2 ---
[INFO] Installing D:sourcessamplestutorialscustom-pmd-0.0.1.jar to C:Userssa20139885.m2repositoryorgbaeldungpmdcustom-pmd.0.1custom-pmd-0.0.1.jar
[INFO] Installing C:Userssa20139885AppDataLocalTempmvninstall5885099966854509945.pom to C:Userssa20139885.m2repositoryorgbaeldungpmdcustom-pmd.0.1custom-pmd-0.0.1.pom
[INFO]
[INFO] --- groovy-eclipse-compiler:3.7.0:add-groovy-build-paths (default-add-groovy-build-paths) @ core-groovy-2 ---
[INFO] Adding /src/main/groovy to the list of source folders
[INFO] Adding /src/test/groovy to the list of test source folders
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ core-groovy-2 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ core-groovy-2 ---
[INFO] Using Groovy-Eclipse compiler to compile both Java and Groovy files
[INFO] Classpath: D:sourcessamplestutorialscore-groovy-2targetclasses;C:Userssa20139885.m2repositoryorgapachecommonscommons-lang33.11commons-lang3-3.11.jar;C:Userssa20139885.m2repository
chqoslogbacklogback-classic1.2.3logback-classic-1.2.3.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy3.0.9groovy-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroo
vy-ant3.0.9groovy-ant-3.0.9.jar;C:Userssa20139885.m2repositoryorgapacheantant1.10.11ant-1.10.11.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-astbuilder3.0.9groovy-astbuilde
r-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-cli-picocli3.0.9groovy-cli-picocli-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-console3.0.9groovy-con
sole-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-datetime3.0.9groovy-datetime-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-docgenerator3.0.9groovy-d
ocgenerator-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-groovydoc3.0.9groovy-groovydoc-3.0.9.jar;C:Userssa20139885.m2repositorycomgithubjavaparserjavaparser-core3.23.0
javaparser-core-3.23.0.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-groovysh3.0.9groovy-groovysh-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-jmx3.0.9groov
y-jmx-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-json3.0.9groovy-json-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-jsr2233.0.9groovy-jsr223-3.0.9.j
ar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-macro3.0.9groovy-macro-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-nio3.0.9groovy-nio-3.0.9.jar;C:Userssa201
39885.m2repositoryorgcodehausgroovygroovy-servlet3.0.9groovy-servlet-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-sql3.0.9groovy-sql-3.0.9.jar;C:Userssa20139885.m2rep
ositoryorgcodehausgroovygroovy-swing3.0.9groovy-swing-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-templates3.0.9groovy-templates-3.0.9.jar;C:Userssa20139885.m2reposito
ryorgcodehausgroovygroovy-test3.0.9groovy-test-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-test-junit53.0.9groovy-test-junit5-3.0.9.jar;C:Userssa20139885.m2repository
orgcodehausgroovygroovy-testng3.0.9groovy-testng-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-xml3.0.9groovy-xml-3.0.9.jar;C:Userssa20139885.m2repositoryorgprojectlomb
oklombok1.18.18lombok-1.18.18.jar;C:Userssa20139885.m2repositorycomgithubgroovy-wslitegroovy-wslite1.1.3groovy-wslite-1.1.3.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-all
1.7.6groovy-all-1.7.6.jar;C:Userssa20139885.m2repositoryorgslf4jslf4j-api1.7.30slf4j-api-1.7.30.jar;C:Userssa20139885.m2repositorychqoslogbacklogback-core1.2.3logback-core-1.2.3.jar;C:Us
erssa20139885.m2repositoryorgslf4jjcl-over-slf4j1.7.30jcl-over-slf4j-1.7.30.jar;
[INFO] Modulepath:
[INFO] Found location <C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-eclipse-batch3.0.8-01groovy-eclipse-batch-3.0.8-01.jar> for className <org.eclipse.jdt.internal.compiler.batch.Main>
[INFO] Found location <C:Userssa20139885.m2repositoryorgprojectlomboklombok1.18.18lombok-1.18.18.jar> for className <lombok.launch.Agent>
[INFO] Compiler arguments: [-verbose, -cp, D:sourcessamplestutorialscore-groovy-2targetclasses;C:Userssa20139885.m2repositoryorgapachecommonscommons-lang33.11commons-lang3-3.11.jar;C:Userss
a20139885.m2repositorychqoslogbacklogback-classic1.2.3logback-classic-1.2.3.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy3.0.9groovy-3.0.9.jar;C:Userssa20139885.m2repository
orgcodehausgroovygroovy-ant3.0.9groovy-ant-3.0.9.jar;C:Userssa20139885.m2repositoryorgapacheantant1.10.11ant-1.10.11.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-astbuild
er3.0.9groovy-astbuilder-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-cli-picocli3.0.9groovy-cli-picocli-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy
-console3.0.9groovy-console-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-datetime3.0.9groovy-datetime-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-do
cgenerator3.0.9groovy-docgenerator-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-groovydoc3.0.9groovy-groovydoc-3.0.9.jar;C:Userssa20139885.m2repositorycomgithubjavaparse
rjavaparser-core3.23.0javaparser-core-3.23.0.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-groovysh3.0.9groovy-groovysh-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroo
vygroovy-jmx3.0.9groovy-jmx-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-json3.0.9groovy-json-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-jsr2233.
0.9groovy-jsr223-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-macro3.0.9groovy-macro-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-nio3.0.9groovy-nio
-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-servlet3.0.9groovy-servlet-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-sql3.0.9groovy-sql-3.0.9.jar;C:
Userssa20139885.m2repositoryorgcodehausgroovygroovy-swing3.0.9groovy-swing-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-templates3.0.9groovy-templates-3.0.9.jar;C:User
ssa20139885.m2repositoryorgcodehausgroovygroovy-test3.0.9groovy-test-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-test-junit53.0.9groovy-test-junit5-3.0.9.jar;C:Userss
a20139885.m2repositoryorgcodehausgroovygroovy-testng3.0.9groovy-testng-3.0.9.jar;C:Userssa20139885.m2repositoryorgcodehausgroovygroovy-xml3.0.9groovy-xml-3.0.9.jar;C:Userssa20139885.m2r
epositoryorgprojectlomboklombok1.18.18lombok-1.18.18.jar;C:Userssa20139885.m2repositorycomgithubgroovy-wslitegroovy-wslite1.1.3groovy-wslite-1.1.3.jar;C:Userssa20139885.m2repositoryorgco
dehausgroovygroovy-all1.7.6groovy-all-1.7.6.jar;C:Userssa20139885.m2repositoryorgslf4jslf4j-api1.7.30slf4j-api-1.7.30.jar;C:Userssa20139885.m2repositorychqoslogbacklogback-core1.2.3log
back-core-1.2.3.jar;C:Userssa20139885.m2repositoryorgslf4jjcl-over-slf4j1.7.30jcl-over-slf4j-1.7.30.jar;, -d, D:sourcessamplestutorialscore-groovy-2targetclasses, -s, D:sourcessamplestutori
alscore-groovy-2targetgenerated-sourcesannotations, -g, -encoding, UTF-8, -source, 11, -target, 11, D:sourcessamplestutorialscore-groovy-2srcmainjavacombaeldungMyJointCompilationApp.java, D:so
urcessamplestutorialscore-groovy-2srcmaingroovycombaeldungmetaprogrammingextensionStaticEmployeeExtension.groovy, D:sourcessamplestutorialscore-groovy-2srcmaingroovycombaeldungCalcScript
.groovy, D:sourcessamplestutorialscore-groovy-2srcmaingroovycombaeldungmetaprogrammingextensionBasicExtensions.groovy, D:sourcessamplestutorialscore-groovy-2srcmaingroovycombaeldungdete
rminedatatypePerson.groovy, D:sourcessamplestutorialscore-groovy-2srcmaingroovycombaeldungcategoryBaeldungCategory.groovy, D:sourcessamplestutorialscore-groovy-2srcmaingroovycombaeldung
CalcMath.groovy, D:sourcessamplestutorialscore-groovy-2srcmaingroovycombaeldungmetaprogrammingEmployee.groovy, D:sourcessamplestutorialscore-groovy-2srcmaingroovycomtdsgrvsampleSurveyP
rocessor.groovy, D:sourcessamplestutorialscore-groovy-2srcmainjavacombaeldungImportSurvey.java, D:sourcessamplestutorialscore-groovy-2srcmaingroovycombaeldungcategoryNumberCategory.groov
y, D:sourcessamplestutorialscore-groovy-2srcmaingroovycomtdsgrvsampleSurveyProcessorWrk.groovy, D:sourcessamplestutorialscore-groovy-2srcmaingroovycombaeldungconcatenateWonder.groovy]
[INFO] cmd.exe /X /C ""C:Program FilesJavajdk-11.0.8binjava.exe" -javaagent:C:Userssa20139885.m2repositoryorgprojectlomboklombok1.18.18lombok-1.18.18.jar -jar C:Userssa20139885.m2repository
orgcodehausgroovygroovy-eclipse-batch3.0.8-01groovy-eclipse-batch-3.0.8-01.jar @C:Userssa20139885AppDataLocalTemporg.codehaus.groovy.eclipse.compiler.GroovyEclipseCompiler9068260548874366375.txt"
[WARNING] Error output from groovy-eclipse compiler:
argument type mismatch
[INFO] [parsing D:sourcessamplestutorialscore-groovy-2srcmainjavacombaeldungMyJointCompilationApp.java - #1/13]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.431 s
[INFO] Finished at: 2021-10-05T13:01:51 05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project core-groovy-2: Compilation failure -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Комментарии:
1. Как задана ваша переменная JAVA_HOME? Похоже, что в команде fork есть дополнительный набор кавычек (ищите cmd.exe в вашем журнале).