Java GMaven构建失败,出现“错误”;遇到了API不兼容问题;
尝试使用MavenJava GMaven构建失败,出现“错误”;遇到了API不兼容问题;,java,maven,groovy,gmaven,Java,Maven,Groovy,Gmaven,尝试使用MavenGmaven插件编译我的项目时,出现以下错误: [ERROR]无法执行目标org.codehaus.gmaven:gmaven插件:1.4:compile(默认)在ProjectConcorde web上:目标org.codehaus.gmaven:gmaven插件的执行默认值:1.4:compile失败:执行org.codehaus.gmaven:gmaven插件时遇到API不兼容:1.4:compile:java.lang.NoSuchMethodError:org.cod
Gmaven
插件编译我的项目时,出现以下错误:
[ERROR]无法执行目标org.codehaus.gmaven:gmaven插件:1.4:compile(默认)在ProjectConcorde web上:目标org.codehaus.gmaven:gmaven插件的执行默认值:1.4:compile失败:执行org.codehaus.gmaven:gmaven插件时遇到API不兼容:1.4:compile:java.lang.NoSuchMethodError:org.codehaus.groovy.ast.ModuleNode.getStarImports()Ljava/util/List代码>
谷歌认为这是因为我的依赖链中有多个groovy版本。但是,在检查完完整的依赖关系树之后,我发现在完整的树中只有一个依赖关系
以下是我的pom.xml的摘录:
<!-- Groovy dependencies -->
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.8.5</version>
</dependency>
<!-- ... snip ... -->
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<goals>
<goal>generateStubs</goal>
<goal>compile</goal>
<goal>generateTestStubs</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
org.codehaus.groovy
groovy all
1.8.5
org.codehaus.gmaven
gmaven插件
1.4
发电集团
编译
生成测试存根
测试编译
这是由于GMaven插件定义中缺少providerSelection
元素造成的
正确的GMaven定义如下所示:
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.4</version>
<configuration>
<providerSelection>1.8</providerSelection>
</configuration>
<executions>
<execution>
<goals>
<goal>generateStubs</goal>
<goal>compile</goal>
<goal>generateTestStubs</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
org.codehaus.gmaven
gmaven插件
1.4
1.8
发电集团
编译
生成测试存根
测试编译
对Marty的解决方案做了一点小小的修改,我就可以让它工作了:
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<configuration>
<providerSelection>2.0</providerSelection>
</configuration>
<goals>
<goal>generateStubs</goal>
<goal>compile</goal>
<goal>generateTestStubs</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
org.codehaus.gmaven
gmaven插件
1.5
2
发电集团
编译
生成测试存根
测试编译
我在项目中遇到了相同的错误,但经过长时间的诊断后,发现与以下依赖项关联的jar已损坏
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.8.5</version>
</dependency>
org.codehaus.groovy
groovy all
1.8.5
几乎不用说,但是“providerSelection”值是您想要执行代码的Groovy版本。