Grails/Groovy/GGTS:run-app上的冲突模块版本

dig*_*eed 20 eclipse grails

将Grails应用程序从2.2.0升级到2.2.1后,尝试通过调试从GGTS调试Grails应用程序时出现以下错误... - > Grails命令(run-app):

Error starting Grails: nulljava.lang.ExceptionInInitializerError
at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:62)
at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
at groovy.lang.Closure.<init>(Closure.java:221)
at groovy.lang.Closure.<init>(Closure.java:238)
at groovy.lang.Closure$1.<init>(Closure.java:205)
at groovy.lang.Closure.<clinit>(Closure.java:205)
at org.codehaus.groovy.grails.cli.GrailsScriptRunner.<clinit>(GrailsScriptRunner.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1243)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)
Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.0.5 and you are trying to load version 2.0.7
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromProperties(MetaClassRegistryImpl.java:186)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromMetaInf(MetaClassRegistryImpl.java:174)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerClasspathModules(MetaClassRegistryImpl.java:156)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:111)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:73)
at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:33)
... 14 more
Run Code Online (Sandbox Code Playgroud)

我正在使用Groovy编译器2.0功能2.7.1.xx-20120921-2000-e42RELEASE和Groovy/Grails工具套件3.1.0.201210061306-RELEASE-e42运行GGTS 3.1.0.RELEASE.该项目已配置Groovy Compiler level 2.0.Eclipse首选项说"您当前正在使用Groovy Compiler版本2.0.4.xx-20120921-2000-e42RELEASE".

任何提示?

SSh*_*hab 29

我在Ubuntu机器上的Grails 2.2.0上遇到了这个问题,我用以下步骤修复它:

  1. 打开eclipse转到"Run as""运行配置"
  2. 选择"环境"选项卡,然后选择"用指定环境替换本机环境"

这解决了我的问题..希望这个帮助


lan*_*ava 28

我遇到了同样的问题,我从GGTS中获取了groovy-all 2.0.7,从我的grails项目中获取了2.0.8.为了解决这个问题,我从eclipse项目中删除了"Groovy Dependencies"库.

右键单击项目 - >属性 - > Java构建路径 - >库(选项卡) - > Groovy依赖项 - >删除

  • 对于我和GGTS 3.4.0,它是:删除"项目 - >属性 - > Java构建路径 - >库(选项卡) - > Groovy库".然后清理项目,grails clean,grails refresh-dependencies,一切都很好. (2认同)

Nat*_*ard 10

手动删除运行应用程序运行配置,以便重新创建它.据报道,这是2013年8月1日的一个错误.错误报告:https://issuetracker.springsource.com/browse/STS-3501


小智 5

我删除了GGTS工作区中的.metadata并重新导入项目.它工作,我可以再次运行应用程序.


dig*_*eed 0

我没有解释为什么它不起作用,但我找到了解决方法。

我为同一个应用程序配置了另一个运行目标,但有一个-Dgrails.env=...设置,我可以毫无问题地启动它。我只是复制了这个配置并删除了参数。这样,我基本上重新创建了之前一直失败的简单启动配置。

问题消失了。