2

grails run-app来自 Eclipse 的当前正在为我的 Google App Engine/Grails 测试应用程序提供以下例外:

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

在使用 Spring Tools Suite (STS) 创建 Grails 项目然后安装应用程序引擎插件“grails install-plugin app-engine”后出现此错误。之前,我安装了 Grails 项目正常运行的 app-engine 插件。

有任何想法吗?

4

3 回答 3

3

您是否尝试过卸载 Tomcat 插件?它默认安装在新应用程序中,但看起来在您使用 GAE 插件时会导致问题。

于 2010-01-25T11:28:59.257 回答
0

来自 DataNucleus Enhancer 的错误消息很可能具有欺骗性。它可能找不到 org.grails.tomcat.TomcatLoader 的依赖类。grails TomcatLoader 类的所有依赖库都在您的类路径中吗?我有类似的情况——错误信息不正确。

于 2010-12-20T19:14:05.057 回答
0

您收到此错误的原因是 tomcat 插件尚未卸载。执行以下步骤:

  1. cd 应用程序目录
  2. grails 列表插件

您将看到一个完整的插件列表,底部将是为您的应用安装的插件列表记下 tomcat version_number

  1. grails 卸载插件 tomcat version_number

Tomcat 插件现在将消失,您不会看到 Tomcat 加载程序错误。我在尝试使用 grails app-engine 插件时遇到了类似的错误,并且在上述步骤之后它就消失了。

于 2011-03-06T13:09:02.717 回答