Grails - Klasse „org.grails.tomcat.TomcatLoader“ wurde nicht in dem CLASSPATH gefunden
-
22-09-2019 - |
Frage
grails run-app
aus Eclipse zur Zeit gibt mir die Ausnahme unten für meine Google App Engine / Grails Testanwendung:
Enhancing JDO classes
[enhance] DataNucleus Enhancer (version 1.1.4) : Enhancement of classes
[enhance] Jan 24, 2010 5:11:42 AM org.datanucleus.metadata.MetaDataManager loadClasses
[enhance] SEVERE: Class "org.grails.tomcat.TomcatLoader" was not found in the CLASSPATH. Please check your specification and your CLASSPATH.
[enhance] org.datanucleus.exceptions.ClassNotResolvedException: Class "org.grails.tomcat.TomcatLoader" was not found in the CLASSPATH. Please check your specification and your CLASSPATH.
[enhance] at org.datanucleus.JDOClassLoaderResolver.classForName(JDOClassLoaderResolver.java:250)
[enhance] at org.datanucleus.JDOClassLoaderResolver.classForName(JDOClassLoaderResolver.java:415)
[enhance] at org.datanucleus.metadata.MetaDataManager.loadClasses(MetaDataManager.java:379)
[enhance] at org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java:743)
[enhance] at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:545)
[enhance] at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1252)
[enhance] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[enhance] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[enhance] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[enhance] at java.lang.reflect.Method.invoke(Method.java:597)
[enhance] at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:57)
[enhance] at com.google.appengine.tools.enhancer.Enhance.<init>(Enhance.java:60)
[enhance] at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:41)
[enhance] DataNucleus Enhancer completed with success for 0 classes. Timings : input=487 ms, enhance=0 ms, total=487 ms. Consult the log for full details
[enhance] DataNucleus Enhancer completed and no classes were enhanced. Consult the log for full details
ich diesen Fehler erhalten, nachdem ein Grails-Projekt mit Frühlings-Tool Suite (STS) erstellen und dann die Installation der App-Engine-Plugin "Grails install-Plugin app-engine". Bevor ich die app-Engine installieren Plugin das Grails-Projekt korrekt ausgeführt wird.
Irgendwelche Ideen?
Lösung
Haben Sie versucht, die Tomcat-Plugin zu deinstallieren? Es wird standardmäßig in einem neuen App installiert, aber sieht aus wie es verursacht Probleme, wenn Sie die GAE-Plugin verwenden.
Andere Tipps
Mehr als wahrscheinlich, täuscht die Fehlermeldung von Datanucleus Enhancer. Es kann wohl nicht die abhängigen Klassen von org.grails.tomcat.TomcatLoader finden. Sind alle abhängigen Libs der grails TomcatLoader Klasse in Ihrem Classpath? Ich hatte eine ähnliche Situation - die Fehlermeldung falsch war.
Der Grund, warum dieser Fehler bekommen, ist, dass der Kater Plugin deinstalliert worden ist. Führen Sie die folgenden Schritte aus:
- cd app_directory
- Grails list-Plugins
Sie werden eine ganze Liste von Plugins sehen und unten wird eine Liste von Plugins für Ihre App installiert sein Notieren Sie die tomcat version_number
- Grails uninstall-Plugin tomcat version_number
Die Kater-Plugin wird nun verschwunden sein und Sie werden die Tomcat-Loader Fehler nicht sehen. Ich war einen ähnlichen Fehler, wenn ich versuche, die Grails App-Engine-Plugin zu verwenden, und es ging nach den oben genannten Schritten.