2016-02-20 13 views
10

私のMavenビルドはきれいで、cliからgroovyを実行できます。しかし、IntelliJ Idea(バージョン15コミュニティ版)の中でGroovyクラスを実行しようとすると、以下のエラーが表示されます。IntelliJのアイデアgroovy.lang.GroovyRuntimeException:モジュールのバージョンが矛盾しています

Exception in thread "main" java.lang.ExceptionInInitializerError 
at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:61) 
at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32) 
at groovy.lang.Closure.<init>(Closure.java:219) 
at groovy.lang.Closure.<init>(Closure.java:236) 
at groovy.lang.Closure$1.<init>(Closure.java:203) 
at groovy.lang.Closure.<clinit>(Closure.java:203) 
at filter.App.<clinit>(App.groovy) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:264) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:122) 
Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.3.9 and you are trying to load version 2.4.5 
    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.<init>(MetaClassRegistryImpl.java:110) 
    at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:71) 
    at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:33) 
    ... 10 more 

これを取り除く方法がわかりません。

これは私のpom依存関係です。

<dependency> 
     <groupId>org.codehaus.groovy</groupId> 
     <artifactId>groovy-all</artifactId> 
     <version>2.4.5</version> 
    </dependency> 

また、私は春のブーツを使用しています。

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.3.2.RELEASE</version> 
    <relativePath></relativePath> 
</parent> 

これはシステムにインストールされたグロビのバージョンです。

Groovy Version: 2.4.5 JVM: 1.8.0_60 Vendor: Oracle Corporation OS: Linux 

誰かがこれについて知っている場合は教えてください。

+0

他の場所のintellijにロードしています –

答えて

10

プロジェクト設定からgroovy libを削除する必要があります。

シフト+ alt + ctrl + s、グローバルライブラリ - groovyを削除します。そして、applictaion/testを実行しようとするときには、依存関係からgroovyを指すべきです。

+1

ありがとうございました。 – bhai

+1

私のGradleビルドで問題が修正されました。ありがとう。 – djangofan

+1

thx、投稿に+1を加えることができます:) – SuperAndrew

3

@ SuperAndrewの提案は私の状況ではありませんでした。私は、プロジェクト構造の下でグローバルライブラリの下にGroovyを登録していませんでした。しかし、私はthis StackExchange solution resolved my issueを見つけました。このコードをbuild.gradleファイルに追加してください。

configurations.all { 
    resolutionStrategy { 
     force 'org.codehaus.groovy:groovy-all:2.4.4' 
    } 
} 
関連する問題