Après la mise à niveau d'une application Grails de 2.2.0 à 2.2.1, l'erreur suivante persiste lorsque je tente de déboguer une application Grails depuis GGTS via Debug en tant que ... -> Commande Grails (run-app):
Error starting Grails: nulljava.lang.ExceptionInInitializerError
at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.Java:62)
at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.Java:32)
at groovy.lang.Closure.<init>(Closure.Java:221)
at groovy.lang.Closure.<init>(Closure.Java:238)
at groovy.lang.Closure$1.<init>(Closure.Java:205)
at groovy.lang.Closure.<clinit>(Closure.Java:205)
at org.codehaus.groovy.grails.cli.GrailsScriptRunner.<clinit>(GrailsScriptRunner.Java:84)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.lang.reflect.Method.invoke(Method.Java:601)
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.Java:1243)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.Java:234)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.Java:262)
Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.0.5 and you are trying to load version 2.0.7
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromProperties(MetaClassRegistryImpl.Java:186)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromMetaInf(MetaClassRegistryImpl.Java:174)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerClasspathModules(MetaClassRegistryImpl.Java:156)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.Java:111)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.Java:73)
at groovy.lang.GroovySystem.<clinit>(GroovySystem.Java:33)
... 14 more
J'utilise GGTS 3.1.0.RELEASE avec Groovy Compiler 2.0 Feature 2.7.1.xx-20120921-2000-e42RELEASE et Groovy/Grails Tool Suite 3.1.0.201210061306-RELEASE-e42. Le projet a configuré Groovy Compiler level 2.0. Les préférences Eclipse disent "Vous utilisez actuellement Groovy Compiler version 2.0.4.xx-20120921-2000-e42RELEASE".
Des allusions?
Je n'ai aucune explication pourquoi cela n'a pas fonctionné, mais j'ai trouvé une solution de contournement.
J'avais une autre cible d'exécution configurée pour la même application, mais avec un paramètre -Dgrails.env=...
, que je pouvais lancer sans problèmes. J'ai simplement copié cette configuration et supprimé le paramètre. De cette façon, j'ai fondamentalement recréé la configuration de lancement simple qui échouait auparavant.
Le problème est parti.
j'ai eu ce problème sur Grails 2.2.0 sur la machine Ubuntu, je l'ai corrigé avec les étapes ci-dessous:
qui a résolu le problème pour moi .. espérons cette aide
J'ai eu le même problème, je ramassais groovy-tout 2.0.7 de GGTS et 2.0.8 de mon projet Grails. Pour résoudre le problème, j'ai supprimé la bibliothèque "Groovy Dependencies" du projet Eclipse.
Faites un clic droit sur le projet -> Propriétés -> Chemin de construction Java -> Bibliothèques (onglet) -> Dépendances en Groovy -> Supprimer
Supprimez manuellement la configuration d'exécution de l'application d'exécution afin qu'elle soit recréée. Cela a été rapporté comme un bug le 1er août 2013. Rapport de bug: https://issuetracker.springsource.com/browse/STS-3501
J'ai supprimé .metadata dans l'espace de travail GGTS et le projet de réimportation. Cela fonctionne, je peux exécuter à nouveau l'application.
J'ai eu le même problème et je l'ai résolu par:
Cela a fait le tour pour moi.
Je l'ai résolu en supprimant l'option permettant de charger manuellement le chemin d'accès aux classes dans Exécuter la configuration. Il utilisait la mauvaise version de Grails (2.5.0 au lieu de 2.5.1).
Fondamentalement, le mauvais chemin de classe a été utilisé.
Peut-être que cela amène quelqu'un sur le bon chemin :)
J'ai eu la même exception: lorsque j'essayais d'exécuter des tests JUnit sur mon projet de démarrage Spring dans Eclipse uniquement, mvn les exécutait correctement. Je n'utilise pas Gradle ou Groovy. En effet, en vérifiant le chemin de classe du test lors du débogage, a montré deux versions de groovy.jar. La version de travail de groovy.jar a été choisie à partir d'autres projets de l'espace de travail Eclipse. J'ai pu résoudre ce problème en supprimant Résoudre les dépendances des projets Workspace dans propriétés du projet -> Maven
J'ai eu le même problème, je suis allé à Project properties -> Groovy Compiler ->configure workspace settings
et j'ai cliqué sur le bouton "Basculer vers" qui correspondait à l'une des deux versions du message d'erreur . J'espère que cela vous aidera
utilisez mvn dependency: tree pour vérifier vos dépendances, des conflits de version peuvent exister
J'ai le même problème, mais lorsque vous modifiez le nom du projet Grails, il fonctionne correctement.
Une autre solution a fonctionné pour moi lorsque Eclipse a cessé d’exécuter mon projet avec l’erreur "groovy-all est chargé dans la version ... et vous essayez de charger la version".
Suppression manuelle d’une ligne groovy-all du fichier .classpath corrigée.
<classpathentry kind="lib" path="Libraries/groovy-all-2.1.2.jar"/>
J'ai trouvé la solution dans cet article de blog .
Pour moi, une compilation depuis la fenêtre de commande grails a fait l'affaire
J'ai eu le même problème lors de son exécution via Eclipse et ce qui a fonctionné pour moi est d'apporter les modifications ci-dessous Accédez à Propriétés du projet -> Groovy Compiler -> configurez les paramètres de l'espace de travail. Décochez la case "Activer la vérification de la non-concordance entre les niveaux du compilateur groovy de projet et d'espace de travail"
Je sais que c'est une question GGTS, mais Google m'a conduit ici et cela semble être un problème commun, même après plusieurs années, donc je poste cette réponse ici. J'espère que cela pourra aider d'autres utilisateurs de STS qui atterriront également ici.
J'ai eu ce problème avec Spring Tool Suite, en utilisant Spring Boot version 1.3.3.RELEASE et gradle version 2.14. Il existe certaines dépendances internes entre groovy 2.4.6 et groovy-all 2.4.6, mais les bibliothèques Groovy de mon espace de travail Eclipse sont en version 2.4.7. Supprimer les bibliothèques Groovy des propriétés du projet Spring/Gradle fonctionne pour l'exécution de ces projets, mais pour d'autres projets Groovy dans l'espace de travail, vous êtes coincé entre le marteau et l'enclume. Ils seront exécutés si vous cliquez sur oui lorsque "Des erreurs existent dans le projet. Exécutez-vous quand même?" si vous supprimez les bibliothèques Groovy du chemin de construction des propriétés, sinon elles ne comporteront pas d'erreur de projet si vous placez les bibliothèques Groovy dans le chemin de construction des propriétés.
Résolu en ajoutant des dépendances explicites dans build.gradle sur groovy 2.4.7 et groovy-all 2.4.7 pour les projets Gradle dans l'espace de travail.
compile('org.codehaus.groovy:groovy:2.4.7')
compile('org.codehaus.groovy:groovy-all:2.4.7')
et (fermez Eclipse STS) puis supprimez le (s) dossier (s) 2.4.6 du cache .gradle
<path to>\.gradle\caches\modules-2\files-2.1\org.codehaus.groovy\groovy\2.4.6
<path to>\.gradle\caches\modules-2\files-2.1\org.codehaus.groovy\groovy-all\2.4.6
et (Ouvrir STS), puis cliquez avec le bouton droit de la souris sur le (s) projet (s) de dégradé (s)> dégradé> rafraîchir le projet de dégradé
Maintenant, d'autres projets Groovy de l'espace de travail s'exécutent sans conflit 2.4.6 vs 2.4.7.