2016-02-20 6 views
10

Le mie build di maven sono soddisfacenti e sono in grado di eseguire groovy da cli. Tuttavia, se provo a eseguire la mia classe groovy all'interno di IntelliJ Idea (versione 15 della community edition), ciò mi dà un errore in basso.IntelliJ Idea groovy.lang.GroovyRuntimeException: Versioni del modulo in conflitto

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 

Non so come sbarazzarsi di questo.

Questa è la mia dipendenza da pom.

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

E sto usando lo stivale a molla.

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

Questa è la mia versione groovy installata nel sistema.

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

Per favore fatemi sapere se qualcuno lo sa.

+0

Lo stai caricando in intellij da qualche altra parte –

risposta

10

devi cancellare groovy lib dalle impostazioni del progetto.

shift + alt + ctrl + s, librerie globali - elimina groovy. E quando cerchi di eseguire applictaion/test, dovresti avere un punto di groovy dalle dipendenze di maven.

+1

Grazie, ha funzionato. – bhai

+1

Che ha risolto il mio problema nella mia build Gradle. Grazie. – djangofan

+1

thx, puoi aggiungere +1 al post :) – SuperAndrew

3

@ Il suggerimento di SuperAndrew non era la mia situazione: non avevo registrato Groovy sotto Librerie globali sotto la mia struttura di progetto. Ma ho trovato this StackExchange solution resolved my issue. Aggiungi questo codice al tuo file build.gradle.

configurations.all { 
    resolutionStrategy { 
     force 'org.codehaus.groovy:groovy-all:2.4.4' 
    } 
}