DataNucleus Enhancer flakey?

时间:2009-07-09 21:52:08

标签: google-app-engine datanucleus google-cloud-datastore

我正在Google App Engine中创建一个GWT应用,并使用Google数据存储。有没有其他人有问题,因为所有人都退出了DataNucleus?

我可以保存一个类,DataNucleus就可以了。如果我在类中更改ANYTHING(甚至添加空格)然后保存,我会收到以下错误:

  

DataNucleus Enhancer完成了   0班成功。时间:   输入= 37毫秒,增强= 0毫秒,总数= 37   女士。有关详细信息,请参阅日志   DataNucleus Enhancer已完成,没有   课程得到了加强。查阅日志   有关详细信息

一旦我清理了我的项目,DataNucleus再次感到高兴。

使用eclipse时这是常见的吗?有解决方法吗?

5 个答案:

答案 0 :(得分:5)

Google的Eclipse插件 调用 是DataNucleus Enhancer。这是他们的插件导致增强。增强器本身就可以完成它的工作,增强它所提供的类。关于增强剂没什么“片状”......

如果您改为使用DataNucleus Eclipse插件,那么您可以执行“按需”增强,例如在部署之前进行增强。

- 安迪(DataNucleus

答案 1 :(得分:3)

我有一些类似的经历,也需要清理项目。它不是所有的时间,但我认为它每天发生一两次,当时我经常使用Eclipse和Google插件。

答案 2 :(得分:2)

我收到错误“Persistent class x似乎没有得到增强”,并意识到我更改了包名称,并且GAE插件设置为仅增强某些类。

您可以更改项目属性中需要增强的类列表.Google ... App Engine ... ORM。

答案 3 :(得分:0)

我遇到了与eclipse GAE插件相同的问题而不是“总是”增强我的类,所以我安装了DataNucleus插件来强制它,但我遇到了SerialVersionUIDs自动生成的问题。我收到错误说“构建期间的错误”,但没有编译错误。卸载了DataNucleus插件,我恢复正常。看起来他们不能很好地合作。

我正在使用GAE v1.3.3.1并安装了DataNucleus eclipse插件v2.0.2

清理项目是有效的,即使它不是最优雅的解决方案。

答案 4 :(得分:0)

我遇到了同样的问题。检查Eclipse上的日志文件会收到以下消息:

Caused by: org.datanucleus.exceptions.NucleusException: Plugin (Bundle) 
org.datanucleus.store.appengine" is already registered. Ensure you dont have multiple              JAR versions of the same plugin in the classpath. The URL "file:/Users/mmangar/projects/rga/google_sandbox/Sandbox/war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar" is already registered, and you are trying to register an identical plugin located at URL "file:/opt/springsource-tool-suite-2.8.0.RELEASE-e3.7.1-macosx-carbon/springsource/sts-2.8.0.RELEASE/plugins/com.google.appengine.eclipse.sdkbundle_1.6.3.v201202290255r37/appengine-java-sdk-1.6.3/lib/user/orm/datanucleus-appengine-1.0.10.final.jar."

我有同一个班级试图加载两次。

从我的类路径中删除一个JAR文件,它工作正常。