Spring Tools Suite中的Groovy版本存在冲突

时间:2015-03-18 13:29:28

标签: spring groovy compiler-errors spring-tool-suite

当我点击运行As-> Spring Boot App 时,遇到以下错误消息:

  

线程中的异常" main" java.lang.ExceptionInInitializerError at   org.springframework.beans.factory.groovy.GroovyBeanDefinitionReader。(GroovyBeanDefinitionReader.java:129)     在   org.springframework.boot.BeanDefinitionLoader。(BeanDefinitionLoader.java:84)     在   org.springframework.boot.SpringApplication.createBeanDefinitionLoader(SpringApplication.java:668)     在   org.springframework.boot.SpringApplication.load(SpringApplication.java:609)     在   org.springframework.boot.SpringApplication.run(SpringApplication.java:315)     在   org.springframework.boot.SpringApplication.run(SpringApplication.java:961)     在   org.springframework.boot.SpringApplication.run(SpringApplication.java:950)     在   com.connectedworldservices.de.app.main.Application.main(Application.java:45)   引起:groovy.lang.GroovyRuntimeException:冲突模块   版本。模块[groovy-all在版本2.3.8中加载,你就是   试图加载版本2.3.2   org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl $ DefaultModuleListener.onModule(MetaClassRegistryImpl.java:509)     在   org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromProperties(ExtensionModuleScanner.java:77)     在   org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromMetaInf(ExtensionModuleScanner.java:71)     在   org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanClasspathModules(ExtensionModuleScanner.java:53)     在   org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl。(MetaClassRegistryImpl.java:110)     在   org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl。(MetaClassRegistryImpl.java:71)     在groovy.lang.GroovySystem。(GroovySystem.java:33)... 8   更

我已经看到有一些人说它与classpath有关,但是无法知道如何在Spring Tools Suite中更改它。如果我单击项目中的文件夹并单击“运行配置”,我可以看到类路径选项卡,但在那里看不到Groovy引用,尽管在选项卡中我可以请参阅对Groovy 2.3.8和2.3.2的引用,但是当我单击它们时,删除它们的选项将显示为灰色。

有谁知道如何在Spring Tools Suite中解决此问题?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

这是因为你正在使用Eclipse的Groovy插件。当它检测到Groovy项目时,它会将Groovy运行时附加到项目中,因为您可能需要一个。 Spring Boot也是如此,你最终会在类路径上使用两个不同版本的Groovy。

要解决此问题,您需要打开项目的“Java Build Path”属性,单击“Libraries”选项卡,然后删除“Groovy Runtime Libraries”条目。