当我单击运行方式-> Spring Boot应用程序时,遇到以下错误消息:
Exception in thread "main" java.lang.ExceptionInInitializerError at org.springframework.beans.factory.groovy.GroovyBeanDefinitionReader.(GroovyBeanDefinitionReader.java:129) at org.springframework.boot.BeanDefinitionLoader.(BeanDefinitionLoader.java:84) at org.springframework.boot.SpringApplication.createBeanDefinitionLoader(SpringApplication.java:668) at org.springframework.boot.SpringApplication.load(SpringApplication.java:609) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at org.springframework.boot.SpringApplication.run(SpringApplication.java:961) at org.springframework.boot.SpringApplication.run(SpringApplication.java:950) at com.connectedworldservices.de.app.main.Application.main(Application.java:45) Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.3.8 and you are trying to load version 2.3.2 at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$DefaultModuleListener.onModule(MetaClassRegistryImpl.java:509) at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromProperties(ExtensionModuleScanner.java:77) at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromMetaInf(ExtensionModuleScanner.java:71) at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanClasspathModules(ExtensionModuleScanner.java:53) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:110) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:71) at groovy.lang.GroovySystem.(GroovySystem.java:33) ... 8 more
我已经看到有人说这与类路径有关,但是无法找到如何在Spring Tools Suite中进行更改。如果单击项目中的文件夹,然后单击“运行配置”,则可以看到类路径选项卡,但看不到Groovy引用,尽管在源选项卡中可以看到对Groovy 2.3.8和2.3的引用。 2,但是当我单击它们时,将其删除的选项显示为灰色。
有谁知道如何在Spring Tools Suite中解决此问题?
谢谢你的帮助。
最佳答案
发生这种情况是因为您正在使用Eclipse的Groovy插件。当它检测到Groovy项目时,由于您可能想要一个Groovy运行时,因此它将一个运行时附加到该项目。 Spring Boot的作用相同,最终在类路径上出现了两个不同版本的Groovy。
为解决此问题,您需要打开项目的“Java Build Path”属性,单击“Libraries”选项卡,然后删除条目“Groovy Runtime Libraries”。
关于spring - Spring Tools Suite中的Groovy版本冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29123401/