Grails 1.4.0.m1 (con STS 2.7.0.M2) NoclassDeffoundError para GantBuilder
-
28-10-2019 - |
Pregunta
Acabo de actualizar a ...
- Grails 1.4.0.m1
- Groovy 1.8.0
- Versión STS: 2.7.0.M2 ID de compilación: 201106101000 - Versión de cacao de 64 bits para Mac
- Tengo OS X 10.5.8. con JVM 1.5.0
Cuando ejecuto un comando GRAILS, por ejemplo, 'create-app' o 'actualización' en un proyecto existente, obtengo el siguiente noclassDefFoundError para el GantBuilder. (Ver a continuación para ver el rastro completo)
Una solución propuesta para un problema similar de este foro es que gant_groovy1.8-1.9.5. JAR está falta. He agregado esto al proyecto directamente y también a una carpeta Groovy/Lib (y Gone to STS -> Preferencias -> Groovy -> Compilador -> Actualizar todos los contenedores de clases Groovy) pero todavía recibo el error. (Cuando agregué gant_groovy1.8-1.9.5.Jar a Groovy/Lib, fue a una descarga Groovy separada, no estoy seguro de qué carpeta Groovy/Lib STS usa para los comandos internos de Shell de Grils o cómo ver el STS Groovy ruta de clase)
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)
¿Alguien tiene alguna idea?
Solución
Si lo que entiendo es correcto, los grases no usan el frasco en su carpeta Groovy/Lib, sino el frasco en la carpeta de instalación de Grails. Es posible que desee probar esto:
Según la publicación aquí, debe ir a la carpeta Grails instalada (%Grails_Home%). En esa carpeta, encuentre la carpeta lib y especifique la versión correcta de gant_groovy.jar que tiene. Luego edite el %Grails_Home %/bin/startgrails.bat como texto y agregue esta línea:
( 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
)
Tenga en cuenta que la ruta en la línea anterior no es muy precisa (parece diferente para cada distribución). Debe encontrar el frasco requerido en la carpeta % grails_home % y cambiar la ruta en consecuencia.