Solve Error java.lang.NoSuchMethodError: org.codehaus.groovy.ast.ModuleNode.getStarImports()Ljava/util/List;

2022-09-03 17:52:15

我遇到了这个例外。

Exception :java.lang.NoSuchMethodError: org.codehaus.groovy.ast.ModuleNode.getStarImports()Ljava/util/List;

我尝试过各种版本的时髦罐子,如时髦1.8.4,时髦1.8.6等。但是我无法摆脱此错误。


答案 1

当我同时在类路径中有2个不同版本的Groovy时,这种情况就发生在我身上。检查你的类路径,特别是如果使用模糊的东西,如Eclipse或Maven。

在我的特定情况下,我试图使用Groovy 1.8.6,但Maven依赖项在1.6.5中拖动,导致错误。它可以在命令行上运行单元测试,但不能从Eclipse内部运行。


答案 2

要使用Groovy 2.x进行编译,请尝试将其添加到gmaven插件元素中:

<configuration>
    <providerSelection>2.0</providerSelection>
    <source>2.0</source>
</configuration>

例如:

<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>

<dependencies>  
    <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>2.1.9</version>
    </dependency>
</dependencies>

似乎有效。


推荐