我遇到了这个例外.
Exception :java.lang.NoSuchMethodError: org.codehaus.groovy.ast.ModuleNode.getStarImports()Ljava/util/List;
Run Code Online (Sandbox Code Playgroud)
我尝试了各种版本的groovy jar,如groovy 1.8.4,groovy 1.8.6等.但我无法摆脱这个错误.
Mik*_*ler 19
当我在类路径中同时拥有2个不同版本的Groovy时,这发生在我身上.检查您的类路径,特别是如果使用混淆它的东西,如Eclipse或Maven.
在我的具体情况下,我试图使用Groovy 1.8.6但是Maven依赖项在1.6.5中拖动导致错误.它在命令行上运行单元测试很好,但不能在Eclipse中运行.
要使用Groovy 2.x进行编译,请尝试将其添加到gmaven插件元素:
<configuration>
<providerSelection>2.0</providerSelection>
<source>2.0</source>
</configuration>
Run Code Online (Sandbox Code Playgroud)
例如:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>generateStubs</goal>
<goal>compile</goal>
<goal>generateTestStubs</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<providerSelection>2.0</providerSelection>
<source>2.0</source>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
同
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.1.9</version>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
似乎工作.