Grails 1.4.0.M1 (avec STS 2.7.0.M2) NoClassDefFoundError pour GantBuilder
-
28-10-2019 - |
Question
Je viens de passer à ...
- Grails 1.4.0.M1
- Groovy 1.8.0
- Version STS: 2.7.0.M2 ID de build: 201106101000 - Version Cocoa 64 bits pour Mac
- J'ai OS X 10.5.8. avec JVM 1.5.0
Quand j'exécute une commande grails, par exemple 'create-app' ou 'upgrade' sur un projet existant, j'obtiens le NoClassDefFoundError suivant pour le GantBuilder. (voir ci-dessous pour une trace complète)
Une solution proposée pour un problème similaire à partir de ce forum est que gant_groovy1.8-1.9.5.jar est manquant. J'ai ajouté ceci au projet directement et aussi à un dossier groovy / lib (et je suis allé à STS -> préférences -> Groovy -> compilateur -> Mettre à jour tous les conteneurs Groovy Classpath) mais j'obtiens toujours l'erreur. (Quand j'ai ajouté gant_groovy1.8-1.9.5.jar à groovy / lib, c'était à un téléchargement groovy séparé, je ne sais pas quel dossier groovy / lib STS utilise pour les commandes internes du shell Grails ou comment afficher le groovy STS chemin de classe)
found org.springframework#spring-test;3.1.0.M1 in default
:: resolution report :: resolve 2068ms :: artifacts dl 119ms
---------------------------------------------------------------------
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| test | 74 | 0 | 0 | 0 || 74 | 0 |
---------------------------------------------------------------------
Script threw exception
java.lang.NoClassDefFoundError: org.codehaus.gant.GantBuilder
at org.codehaus.gant.GantBinding.class$(GantBinding.groovy)
at org.codehaus.gant.GantBinding.$get$$class$org$codehaus$gant$GantBuilder(GantBinding.groovy)
at org.codehaus.gant.GantBinding.<init>(GantBinding.groovy:41)
at org.codehaus.groovy.grails.cli.GrailsScriptRunner.callPluginOrGrailsScript(GrailsScriptRunner.java:448)
at org.codehaus.groovy.grails.cli.GrailsScriptRunner.runInteractive(GrailsScriptRunner.java:377)
at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeCommand(GrailsScriptRunner.java:308)
at org.codehaus.groovy.grails.cli.GrailsScriptRunner.main(GrailsScriptRunner.java:130)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)
Quelqu'un a-t-il des idées?
La solution
Si ce que je comprends est juste, Grails n'utilise pas le fichier jar dans votre dossier groovy / lib, mais le fichier jar dans le dossier d'installation Grails.Vous pouvez essayer ceci:
D'après le post ici , vous devriez aller àle dossier Grails installé (% GRAILS_HOME%).Dans ce dossier, recherchez le dossier lib et spécifiez la bonne version de gant_groovy.jar que vous avez.Puis modifiez le% GRAILS_HOME% / bin / startGrails.bat sous forme de texte et ajoutez cette ligne:
( set STARTER_CLASSPATH=%GRAILS_HOME%\lib\org.codehaus.groovy\groovy-all\jars\groovy-all-1.8.0.jar;%GRAILS_HOME%\dist\grails-bootstrap-1.4.0.M1.jar;%GRAILS_HOME%\lib\org.codehaus.gant\gant_groovy1.8\jars\gant_groovy1.8-1.9.5.jar
)
Notez que le chemin sur la ligne ci-dessus n'est pas très précis (il semble différent pour chaque distribution).Vous devriez trouver le fichier jar requis dans le dossier% GRAILS_HOME% et modifier le chemin en conséquence.