解决错误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中拖动导致错误。 它在命令行上运行unit testing很好,但不是在Eclipse中运行。
要使用Groovy 2.x进行编译,请尝试将其添加到gmaven插件元素:
2.0 2.0
例如:
org.codehaus.gmaven gmaven-plugin generateStubs compile generateTestStubs testCompile 2.0 2.0
同
org.codehaus.groovy groovy-all 2.1.9
似乎工作。
我刚刚通过刷新IntelliJ中的所有Gradle项目并再次运行来解决这个问题。
问题肯定是多个groovy版本。 我在使用maven项目和Eclipse IDE时遇到了这个问题。 就我而言, pom.xml
有以下几点 –
org.codehaus.gmaven groovy-maven-plugin 2.0
但是在Eclipse Under Window – > preference – > groovy版本是2.5.0。 我将它降级到2.3.11并且有效。 只需单击switch即可在Eclipse中使用较低版本的Groovy。