1

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

我可以保存一个类,DataNucleus 会做的很好。如果我更改类中的任何内容(甚至添加空格)然后保存,我会收到以下错误:

DataNucleus Enhancer 成功完成 0 个课程。计时:输入 = 37 毫秒,增强 = 0 毫秒,总计 = 37 毫秒。请查阅日志以获取完整的详细信息 DataNucleus Enhancer 已完成,并且没有增强任何类。查阅日志以获取完整的详细信息

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

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

4

5 回答 5

5

DataNucleus Enhancer由 Google 的 Eclipse 插件调用。正是他们的插件导致了增强。增强器本身只是做它的工作,增强它提供的类。增强剂没有任何“片状”......

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

——安迪(数据

于 2009-07-10T09:36:42.227 回答
3

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

于 2009-07-10T02:08:57.757 回答
2

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

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

于 2010-03-14T19:51:35.590 回答
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 文件效果很好。

于 2012-03-15T04:02:25.403 回答
0

我有同样的问题,eclipse GAE 插件不是“总是”增强我的类,所以我安装了 DataNucleus 插件来强制它,但我遇到了自动生成 SerialVersionUID 的问题。我收到一条错误消息,说“构建期间出现错误”,但没有编译错误。卸载 DataNucleus 插件,我恢复正常。看来,他们在一起玩得不好。

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

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

于 2010-05-11T09:46:18.750 回答