2

grails run-app внутри Eclipse, в настоящее время дает мне исключение ниже моего Google App Engine/Grails тестового приложения:Grails - Класс "org.grails.tomcat.TomcatLoader" не был найден в CLASSPATH

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 

I получите эту ошибку после создания проекта Grails с помощью Spring Tools Suite (STS), а затем установите плагин app-engine «Грайл-инсталлятор-плагин-приложение-движок». Раньше я устанавливал плагин app-engine, проект Grails запускался правильно.

Любые идеи?

+0

связанный вопрос JIRA: http://jira.codehaus.org/browse/GRAILSPLUGINS-1889 –

ответ

3

Вы пытались удалить плагин Tomcat? Он установлен по умолчанию в новом приложении, но похоже, что он вызывает проблемы при использовании плагина GAE.

+0

Пока нет, я дам вам попробовать и сообщить об этом. –

+0

Запуск «uninstall-plugin tomcat» разрешил исключение TomcatLoader –

0

Более чем вероятно, сообщение об ошибке от DataNucleus Enhancer обманывает. Вероятно, он не может найти зависимые классы org.grails.tomcat.TomcatLoader. Все ли зависимые libs класса grails TomcatLoader в вашем пути к классам? У меня была аналогичная ситуация - сообщение об ошибке было неверным.

0

Причина, по которой вы получаете эту ошибку, заключается в том, что плагин tomcat не был удален. Выполните следующие действия:

  1. кд app_directory
  2. Grails список-плагинов

Вы увидите целый список плагинов и в нижней части будет список установленных плагинов для приложения Примечание вниз котом VERSION_NUMBER

  1. Grails деинсталлировать-плагин номер_версии
  2. кот

Теперь плагин tomcat исчезнет, ​​и вы не увидите ошибку загрузчика Tomcat. Я получал аналогичную ошибку, пытаясь использовать графический движок для графического адаптера Grails, и после вышеупомянутых шагов он ушел.