我正在使用groovy作为开发语言开发一个intelliJ插件。
我的系统默认使用groovy 2.1.7,但是intelliJ idea使用groovy 2.0.6(在lib/
中)。
当我开始使用我的插件时,我在加载我的Groovy类时遇到了这个异常。
Conflicting module versions. Module [groovy-all is loaded in version 2.1.7 and you are trying to load version 2.0.6
这是顶级回溯。
groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.1.7 and you are trying to load version 2.0.6
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$DefaultModuleListener.onModule(MetaClassRegistryImpl.java:509)
at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromProperties(ExtensionModuleScanner.java:78)
at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromMetaInf(ExtensionModuleScanner.java:72)
at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanClasspathModules(ExtensionModuleScanner.java:54)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:110)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:71)
at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:33)
at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:162)
at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:192)
at io.github.tomykaira.accelvoice.ideaplugin.NextInsertionHolder.$getStaticMetaClass(NextInsertionHolder.groovy)
at io.github.tomykaira.accelvoice.ideaplugin.NextInsertionHolder.<init>(NextInsertionHolder.groovy)
at io.github.tomykaira.accelvoice.ideaplugin.AccelVoiceModule.moduleAdded(AccelVoiceModule.java:45)
at com.intellij.openapi.module.impl.ModuleImpl.moduleAdded(ModuleImpl.java:236)
at com.intellij.openapi.module.impl.ModuleManagerImpl$4.run(ModuleManagerImpl.java:535)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1013)
at com.intellij.openapi.module.impl.ModuleManagerImpl.fireModuleAddedInWriteAction(ModuleManagerImpl.java:532)
at com.intellij.openapi.module.impl.ModuleManagerComponent$3$1.run(ModuleManagerComponent.java:139)
at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:169)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:343)
答案 0 :(得分:3)
我遇到了同样的问题。
请检查您的IntelliJ设置:
项目结构/全局库 - 删除2.0.6版本
答案 1 :(得分:1)
我检查了我的IntelliJ设置:
项目结构/全球图书馆
我没有看到任何东西。然后我查看了Project Structure / Libraries,在那里我发现了一个模块,它是两个不同的groovvy-all版本(2.4.1和2.4.5)。
删除错误的groovy版本后,问题就解决了。
答案 2 :(得分:1)
我没有在项目结构/全球图书馆或项目结构/图书馆下列出任何内容,所以上面的两个答案不幸对我不起作用。
这是什么工作:我找到groovy-all
目录,对我来说是
/Users/<username>/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy/groovy-all
此目录包含IntelliJ中错误消息中提及的两个版本。我改名为它已经在使用的那个(2.4.10,在我的情况下),它允许它使用它说它试图加载的那个(2.4.12,我想要的)。
这很有效,但在与gradle重新同步后,它再次将2.4.10下载到该文件夹中。幸运的是,IntelliJ现在似乎忽略了它,我不再看到错误信息。