Конфликтующие версии Groovy в Spring Tools Suite

Когда я нажимаю Run As->Spring Boot App, появляется следующее сообщение об ошибке:

Исключение в потоке «основной» java.lang.ExceptionInInitializerError в 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.groovy. 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

Я видел, что несколько человек сказали, что это как-то связано с путем к классам, но не могу понять, как это изменится в Spring Tools Suite. Если я щелкну папку в проекте и нажму «Выполнить настройку», я увижу вкладку classpath, но не увижу там ссылку Groovy, хотя на вкладке source я могу см. ссылки на Groovy 2.3.8 и 2.3.2, но когда я нажимаю на них, опция их удаления становится серой.

Кто-нибудь знает, как я могу решить эту проблему в Spring Tools Suite?

Спасибо за любую помощь.


person user3165854    schedule 18.03.2015    source источник


Ответы (1)


Это происходит потому, что вы используете подключаемый модуль Groovy для Eclipse. Когда он обнаруживает проект Groovy, он прикрепляет к проекту среду выполнения Groovy, поскольку она вам, вероятно, понадобится. Spring Boot делает то же самое, и вы получаете две разные версии Groovy в пути к классам.

Чтобы решить эту проблему, вам нужно открыть свойства «Java Build Path» вашего проекта, щелкнуть вкладку «Библиотеки», а затем удалить запись «Groovy Runtime Libraries».

person Aaron Digulla    schedule 19.03.2015
comment
Библиотеки среды выполнения Groovy отсутствуют в меню «Библиотеки» для меня. Но я смог исправить проблему с версией с помощью этого ответа - stackoverflow.com/a/42650053/6648326 - person MasterJoe; 19.01.2019