Java eclipsegoogle-App-Engine“;将不会增强;

Java eclipsegoogle-App-Engine“;将不会增强;,java,eclipse,google-app-engine,Java,Eclipse,Google App Engine,第一次月食: 无法摆脱此错误。。。 已经尝试了谷歌上所有建议的修复方法 持久类“class com.blahb.blahblah.master.UserToken似乎未得到增强。您可能希望重新运行增强器并检查输出中的错误。”数据库中没有表,但操作需要它。请检查此类元数据的规范 我的同事在她的windows PC上有同样的项目,而且运行良好 我尝试了三种不同的PC的linux、mac、windows、3种不同的eclipse版本、20种不同的导入方式、创建新项目等 是的,已更正.classpath

第一次月食:

无法摆脱此错误。。。 已经尝试了谷歌上所有建议的修复方法

持久类“class com.blahb.blahblah.master.UserToken似乎未得到增强。您可能希望重新运行增强器并检查输出中的错误。”数据库中没有表,但操作需要它。请检查此类元数据的规范

我的同事在她的windows PC上有同样的项目,而且运行良好

我尝试了三种不同的PC的linux、mac、windows、3种不同的eclipse版本、20种不同的导入方式、创建新项目等

是的,已更正.classpath以反映所有jar文件的正确位置。 我已经尝试过按照google博客上的建议,将每个类、java、jar添加到类/buildpath(窗口->pref->谷歌->orm)中,什么都没有

这个该死的“增强器控制台”应该在Eclipse中的哪里。。。? 我正在运行最新的Eclipse,以及所有的Google应用程序引擎插件

有什么想法吗。。。?有人


谢谢大家!

我们编辑了[Project>properties>Google>AppEngine>ORM]页面,删除了src/并仅增强了我们类的一个子集(src/com/vo/.java*、src/com/back/?和res/),如中所述:

我们还将Google |应用程序引擎复制到一个较短的路径,如下所述:

我也有同样的错误,在我的案例中,解决方案就是通过注释这一行使类不持久:

@PersistenceCapable(identityType = IdentityType.APPLICATION)

然后运行我的应用程序并获取关于持久性的错误,停止它,取消对前一行的注释,然后再次运行应用程序。

通过添加主键为我解决了此问题,如下所示:

@PrimaryKey
@持久性(valueStrategy=IdGeneratorStrategy.IDENTITY)

私人长id

右键单击项目,然后单击属性>生成器。是否存在类似“缺少构建器(org.datanucleus.ide.eclipse.enhancerbuilder)”这样的问题

如果您创建了一个新的Web应用程序项目,请确保选中了“使用Google Web Toolkit”和“使用Google App Engine”,然后在属性>构建器中再次查看,是否会在那里显示“Enhancer”,而不是“缺少构建器”


如果是,那么解决方案肯定是从头开始创建一个新项目,然后手动将内容从旧项目转移到新项目中。简单地将旧项目导入到另一个Eclipse中不起作用,增强器仍然不在那里。

问题是DataNucleus的增强器从项目的构建器列表中删除。对我来说,所有的项目清理、重建等都没有帮助。您需要做的是(1)创建新的示例GAE项目,在纯文本编辑器中打开该项目的“.project”文件,从那里复制此文本:

<buildCommand>
    <name>com.google.appengine.eclipse.core.enhancerbuilder</name>
    <arguments></arguments>
</buildCommand>

com.google.appengine.eclipse.core.enhancerbuilder

现在将其复制到您自己的.project文件中构建器列表的底部。现在DataNucleus应该可以正常工作了。我不知道为什么它有时会消失。

更新到appengine java sdk的最新版本为我解决了这个问题。

更改sdk版本对我来说很有效

有趣的是,我已经在使用最新版本了。恢复到以前的版本是触发“增强”步骤的唯一方法。这是一个gradle构建脚本

<buildCommand>
    <name>com.google.appengine.eclipse.core.enhancerbuilder</name>
    <arguments></arguments>
</buildCommand>