我正在尝试使用 GAE + Scala 评估一个小项目,但我似乎无法解决 Datanucleus 增强器的问题。
我的项目是基本的留言簿示例应用程序,我添加了 Scala 特性,然后我添加了一个带有方法的 Scala 对象,该方法接受一个字符串,向其中添加一些东西,然后返回修改后的字符串。然后,我修改了工作中的留言簿示例,以添加对此 Scala 方法的调用。这都是“Hello World”级别的东西。
我的问题是我从增强器中得到以下异常
DataNucleus Enhancer (version 1.1.4) : Enhancement of classes
Aug 31, 2011 9:38:35 PM org.datanucleus.metadata.MetaDataManager loadClasses
SEVERE: Class "guestbook.server.Slave$" was not found in the CLASSPATH. Please check your specification and your CLASSPATH.
org.datanucleus.exceptions.ClassNotResolvedException: Class "guestbook.server.Slave$" was not found in the CLASSPATH. Please check your specification and your CLASSPATH.
at org.datanucleus.JDOClassLoaderResolver.classForName(JDOClassLoaderResolver.java:250)
at org.datanucleus.JDOClassLoaderResolver.classForName(JDOClassLoaderResolver.java:415)
at org.datanucleus.metadata.MetaDataManager.loadClasses(MetaDataManager.java:379)
at org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java:743)
at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:545)
at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1252)
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:597)
at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:57 )
at com.google.appengine.tools.enhancer.Enhance.<init>(Enhance.java:60)
at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:41)
DataNucleus Enhancer completed with success for 0 classes. Timings : input=237 ms, enhance=0 ms, total=237 ms. Consult the log for full details
DataNucleus Enhancer completed and no classes were enhanced. Consult the log for full details
我对此进行了研究,并看到了将 Scala jar 添加到增强器的类路径的参考,但没有迹象表明如何使用 Google 的 GAE 版本执行此操作。Datanucleus 提供的指导指的是 GAE 版本中不存在的首选项。
目前我有点不知所措,作为这种工具组合的新手,我一定很容易错过这种工具,但我不知道它可能是什么。
作为参考,我正在运行 Scala 2.9.0.1、GAE 1.5.2 和 Eclipse Indigo Build id:20110615-0604。