代码之家  ›  专栏  ›  技术社区  ›  Taylor Leese

在类路径中找不到grails-类“org.grails.tomcat.tomcatloader”

  •  2
  • Taylor Leese  · 技术社区  · 14 年前

    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
    

    在用SpringToolsSuite(STS)创建了一个Grails项目,然后安装了应用引擎插件“GrailsInstallPluginAppEngine”之后,我得到了这个错误。之前,我安装了Grails项目运行正常的应用引擎插件。

    有什么想法吗?

    3 回复  |  直到 13 年前
        1
  •  3
  •   leebutts    14 年前

    你试过卸载Tomcat插件吗?它默认安装在一个新的应用程序中,但在使用GAE插件时似乎会引起问题。

        2
  •  0
  •   Suz    14 年前

    更可能的是,来自DataNucleus增强程序的错误消息是欺骗的。它可能找不到org.grails.tomcat.tomcatloader的依赖类。GrailsTomcatloader类的所有依赖lib都在您的类路径中吗?我遇到了类似的情况——错误消息是不正确的。

        3
  •  0
  •   Adi Pandit    13 年前

    出现此错误的原因是尚未卸载Tomcat插件。 执行以下步骤:

    1. CD应用程序目录
    2. Grails列表插件

    您将看到一个完整的插件列表,底部是为您的应用程序安装的插件列表。 记下Tomcat版本号

    1. Grails卸载插件Tomcat版本号

    Tomcat插件现在将消失,您将看不到Tomcat加载程序错误。我在尝试使用GrailsAppEngine插件时也遇到了类似的错误,在完成上述步骤后,它就消失了。