繁体   English   中英

解决错误java.lang.NoSuchMethodError:org.codehaus.groovy.ast.ModuleNode.getStarImports()Ljava / util / List;

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

我遇到了这个例外。

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

我尝试了各种版本的groovy jar,如groovy 1.8.4,groovy 1.8.6等。但我无法摆脱这个错误。

当我在类路径中同时拥有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>

例如:

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

似乎工作。

我刚刚通过刷新IntelliJ中的所有Gradle项目并再次运行来解决这个问题。

问题肯定是多个groovy版本。 我正在使用maven项目和Eclipse IDE来解决这个问题。 就我而言, pom.xml有以下几点 -

        <dependencies>
            <dependency>
                <groupId>org.codehaus.gmaven</groupId>
                <artifactId>groovy-maven-plugin</artifactId>
                <version>2.0</version>
            </dependency>
        </dependencies>

但是在Eclipse Under Window - > preference - > groovy version是2.5.0。 我把它降级到2.3.11并且有效。 只需单击switch即可在Eclipse中使用较低版本的Groovy。

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM