启动GAE/GWT项目时出错:无法恢复以前的TimeZone

Moh*_*rki 2 gwt google-app-engine gae-eclipse-plugin

当我尝试使用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)
Run Code Online (Sandbox Code Playgroud)

kle*_*ell 8

Chris Cashwell提供了正确的答案.但对于像我这样相对较新的Eclipse的人来说,这里有更明确的指示(我在这里遇到):

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

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

-Xmx512m -javaagent:/long/path/to/appengine-agent.jar -Dappengine.user.timezone.impl=UTC
Run Code Online (Sandbox Code Playgroud)