2

当我尝试使用 Eclipse 插件运行 GWT App Engine 项目时,我收到以下错误:

Initializing App Engine server
[ERROR] Unable to start App Engine server
java.lang.RuntimeException: Unable to restore the previous TimeZone
    at com.google.appengine.tools.development.DevAppServerImpl.restoreLocalTimeZone(DevAppServerImpl.java:228)
    at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:164)
    at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:97)
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)
    at com.google.gwt.dev.DevMode.main(DevMode.java:311)
Caused by: java.lang.NoSuchFieldException: defaultZoneTL
    at java.lang.Class.getDeclaredField(Class.java:1899)
    at com.google.appengine.tools.development.DevAppServerImpl.restoreLocalTimeZone(DevAppServerImpl.java:222)
    ... 6 more
[ERROR] shell failed in doStartupServer method
Unable to start embedded HTTP server
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
    at      com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:102)
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)
    at com.google.gwt.dev.DevMode.main(DevMode.java:311)
4

3 回答 3

8

Chris Cashwell 提供了正确答案。但是对于像我这样对 Eclipse 比较陌生的人来说,这里有更明确的说明(我在这里遇到过):

  1. 在 Project Explorer 窗口中右键单击项目目录
  2. 选择运行方式>运行配置...
  3. 转到参数选项卡
  4. VM Arguments文本框中,添加 Chris 提到的以下参数之一:
    • -Dappengine.user.timezone.impl=UTC(这在我的情况下有效)
    • -Dappengine.user.timezone=UTC
  5. 单击应用然后运行

就我而言,这是专门在我正在处理的 PlayN 项目的上下文中完成的,所以我右键单击 HTML 文件夹。最后,我的 VM 参数看起来像这样:

-Xmx512m -javaagent:/long/path/to/appengine-agent.jar -Dappengine.user.timezone.impl=UTC
于 2012-04-17T03:35:18.510 回答
3

请参阅此错误报告。对我来说,它是通过将 JDK 从 1.7.0_03 -> 1.7.0_02 降级来解决的。据称可以工作的其他事情正在添加-Dappengine.user.timezone=UTC(或在某些情况下-Dappengine.user.timezone.impl=UTC)到 JVM 标志。

于 2012-03-18T15:32:49.617 回答
1

我收到此错误,并port already in use在控制台中找到。

我关闭了eclipse并杀死了javaw.exe。然后一切正常。

于 2013-03-01T17:05:55.600 回答