首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署到Google App Engine Tutorial Enhancer异常

部署到Google App Engine Tutorial Enhancer异常
EN

Stack Overflow用户
提问于 2011-08-27 02:27:23
回答 2查看 1.2K关注 0票数 0

我刚刚开始学习GWT和Google App Engine。不管是好是坏,我开始做部署到Google App Engine的教程,如下所示:

http://code.google.com/webtoolkit/doc/latest/tutorial/appengine.html

本教程以RPC教程为基础,如下所示:

http://code.google.com/webtoolkit/doc/latest/tutorial/RPC.html

我下载了StockWatcher项目并顺利地完成了RPC教程,然后继续学习“部署到Google App Engine”教程。

我使用的是Eclipse,但我猜做RPC教程的人不是这样做的,因为我必须遵循说明部分来“设置项目(没有Eclipse)”。

一切都很顺利,直到我到了教程的最后一步来测试这个应用程序。当我得到这行的时候:

列表股票=(列表) q.execute(getUser());

在文件中,src/com.google.gwt.sample.stockwatcher.server/StockServiceImpl.java.完整的代码在教程中,所以我不会在这里上传。

q.execute()语句抛出以下异常:

javax.jdo.JDOFatalUserException:没有com.google.gwt.sample.stockwatcher.server.Stock.的元数据也许你需要在这个类上运行增强器?com.google.gwt.sample.stockwatcher.server.Stock.的NestedThrowables: org.datanucleus.store.appengine.FatalNucleusUserException:没有元数据也许你需要在这个类上运行增强器?

我尝试了几天,但没有取得任何进展。我不明白我是如何运行“增强器”的,我也不知道那是什么意思。这是不是一个工具的名字,他们只是忘记了把专有名词大写成Enhancer?

我怀疑,因为我不是从头开始创建项目的,所以在下载RPC项目作为起点时,教程没有提到您需要进行一些设置。

虽然我不知道关于“增强器”的建议是什么意思,但如果有帮助的话,我确实在build.xml中看到了这一部分……

代码语言:javascript
复制
   name="datanucleusenhancer"
   classpathref="tools.class.path"
   classname="org.datanucleus.enhancer.tools.EnhancerTask" />
<datanucleusenhancer
   classpathref="tools.class.path"
   failonerror="true">
  <fileset dir="war/WEB-INF/classes" includes="**/*.class" />
</datanucleusenhancer>

谁能给我一点提示,告诉我我做错了什么?谢谢。

请不要叫snark

EN

回答 2

Stack Overflow用户

发布于 2011-08-27 12:26:46

再次仔细阅读本教程后,我遗漏了Stock.java中的以下代码行:

@PersistenceCapable(identityType = IdentityType.APPLICATION)

这似乎让问题消失了,但我看不出这条消息有什么帮助。

avax.jdo.JDOFatalUserException:没有com.google.gwt.sample.stockwatcher.server.Stock.的元数据也许你需要在这个类上运行增强器?com.google.gwt.sample.stockwatcher.server.Stock.的NestedThrowables: org.datanucleus.store.appengine.FatalNucleusUserException:没有元数据也许你需要在这个类上运行增强器?

首先,它建议“运行增强器”,这不是你想要做的,我也不知道如何运行增强器,所以我可以确认这样做没有帮助。我也看不到教程中关于这一行是如何创建元数据的描述。在关于“注意事项”的代码一节中没有对此进行描述。

票数 0
EN

Stack Overflow用户

发布于 2012-12-25 14:57:38

除了前面答案中提到的类注释之外,还要确保您的字段具有getter和setter。特别是,我在没有使用getId()函数的情况下遇到了问题。

代码语言:javascript
复制
  @PrimaryKey
  @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
  private Long id;

  public Long getId() {
    return this.id;
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7209026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档