spring - Spring Tools Suite中的Groovy版本冲突

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

当我单击运行方式-> 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/

相关文章:

java - 数组和对象的 Jackson 反序列化问题

java - Append CompiledScript 或添加两个 CompiledScript

groovy - 在 Groovy 中查找字符是否为 ASCII 字符

compiler-errors - 编译超时LATEX

java - Spring boot 中的 CORS 策略冲突

java - 在 grails 中实现登录系统的最佳方法是什么

java - 在运行时延迟初始化 spring 安全性 + 重新加载 spring 安全性配置

c - 内联函数是否会导致创建弱符号?

c++ - 错误C2011 : 'class type redefinition - Basic Inheritance