Eclipse Grails/Groovy/GGTS:运行应用程序时模块版本冲突

Eclipse Grails/Groovy/GGTS:运行应用程序时模块版本冲突,eclipse,grails,Eclipse,Grails,在将Grails应用程序从2.2.0升级到2.2.1之后,当我试图通过debug as…->Grails命令(运行应用程序): 启动Grails时出错:nulljava.lang.ExceptionInInitializeError 位于org.codehaus.groovy.runtime.InvokerHelper。(InvokerHelper.java:62) 位于groovy.lang.GroovyObjectSupport。(GroovyObjectSupport.java:32) 位

在将Grails应用程序从2.2.0升级到2.2.1之后,当我试图通过debug as…->Grails命令(运行应用程序):

启动Grails时出错:nulljava.lang.ExceptionInInitializeError 位于org.codehaus.groovy.runtime.InvokerHelper。(InvokerHelper.java:62) 位于groovy.lang.GroovyObjectSupport。(GroovyObjectSupport.java:32) 位于groovy.lang.Closure。(Closure.java:221) 位于groovy.lang.Closure。(Closure.java:238) 位于groovy.lang.Closure$1(Closure.java:205) 位于groovy.lang.Closure。(Closure.java:205) 位于org.codehaus.groovy.grails.cli.GrailsScriptRunner.(GrailsScriptRunner.java:84) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:601) 位于org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1243) 位于org.codehaus.groovy.grails.cli.support.grailstarter.rootLoader(grailstarter.java:234) 位于org.codehaus.groovy.grails.cli.support.grailstarter.main(grailstarter.java:262) 原因:groovy.lang.GroovyRuntimeException:模块版本冲突。模块[groovy all在版本2.0.5中加载,您正在尝试加载版本2.0.7 位于org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromProperties(MetaClassRegistryImpl.java:186) 位于org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromMetaInf(MetaClassRegistryImpl.java:174) 位于org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerClasspathModules(MetaClassRegistryImpl.java:156) 位于org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:111) 位于org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:73) 位于groovy.lang.GroovySystem(GroovySystem.java:33) …还有14个 我使用Groovy编译器2.0特性2.7.1.xx-20120921-2000-e42RELEASE和Groovy/Grails工具套件3.1.0.201210061306-RELEASE-e42运行GGTS 3.1.0.RELEASE。该项目配置了Groovy编译器级别2.0。Eclipse首选项显示“您当前正在使用Groovy编译器版本2.0.4.xx-20120921-2000-e42RELEASE”


有什么提示吗?

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

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


问题消失了。

对我来说,从grails命令窗口编译完成了这个技巧

在eclipse中运行它时,我遇到了同样的问题,对我有效的是做了以下更改
转到项目属性->Groovy编译器->配置工作区设置。取消选中复选框“启用检查项目和工作区Groovy编译器级别之间的不匹配”

当我更改grails项目的名称时,它工作正常。

我删除了GGTS工作区中的元数据并重新导入项目。它工作正常,我可以再次运行应用程序。

我遇到了同样的问题,我从GGTS中选择groovy all 2.0.7,从grails项目中选择2.0.8。为了解决这个问题,我删除了“groovy依赖项”eclipse项目中的库


右键单击project->Properties->Java Build Path->Libraries(选项卡)->Groovy Dependencies->Remove

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

  • 打开eclipse转到“运行方式”和“运行配置”
  • 选择“环境”选项卡,然后选择“用指定的环境替换本机环境”

  • 这为我解决了问题。希望此帮助手动删除run app运行配置,以便重新创建。这在2013年8月1日被报告为错误。错误报告:

    我遇到了相同的问题,我通过以下方法解决了它:

  • 对于您的项目:打开运行方式->运行配置
  • 转到刷新选项卡
  • 检查完成后刷新资源
  • 运行

  • 这对我来说是个好办法。

    当Eclipse停止运行我的项目时,另一个解决方案对我起了作用,出现了“groovy all is loaded in version…you's to load version”错误

    手动从类路径中删除groovy all行修复了它

    <classpathentry kind="lib" path="Libraries/groovy-all-2.1.2.jar"/>
    
    
    

    我找到了解决方案。

    我也遇到了同样的问题,我去了
    项目属性->Groovy编译器->配置工作区设置
    ,然后单击了与错误消息中两个版本之一对应的“切换到”按钮。
    我希望这会有所帮助

    我通过删除在运行配置中手动加载类路径的选项解决了这个问题。它使用了错误的Grails版本(2.5.0而不是2.5.1)

    基本上使用了错误的类路径


    也许这会让一些人走上正确的道路:)

    我知道这是一个GGTS问题,但谷歌把我带到了这里,这似乎是一个常见的问题,甚至在几年后,所以我在这里发布了这个答案。希望它能帮助其他同样登陆这里的STS用户

    我在使用Spring Boot版本1.3.3.RELEASE和gradle版本2.14的Spring工具套件时遇到了这个问题。groovy 2.4.6和groovy all 2.4.6有一些内部依赖,但我的Eclipse工作区groovy库是版本2.4.7。从Spring/gradle项目属性中删除groovy库适用于运行这些项目,但对于工作区中的其他Groovy项目,您将陷入两难境地。如果您在项目中出现错误时单击“是”,它们将运行。运行任意
    <classpathentry kind="lib" path="Libraries/groovy-all-2.1.2.jar"/>
    
    compile('org.codehaus.groovy:groovy:2.4.7')
    compile('org.codehaus.groovy:groovy-all:2.4.7')
    
    <path to>\.gradle\caches\modules-2\files-2.1\org.codehaus.groovy\groovy\2.4.6
    <path to>\.gradle\caches\modules-2\files-2.1\org.codehaus.groovy\groovy-all\2.4.6