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



当我尝试使用Eclipse插件运行GWT应用程序引擎项目时,我会得到以下错误:

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)

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

  1. 在项目资源管理器窗口中右键单击项目目录
  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

请参阅此错误报告。对我来说,它是通过将JDK从1.7.0_03->1.7.0_02降级来修复的。其他被认为有效的事情是将-Dappengine.user.timezone=UTC(或者在某些情况下是-Dappengine.user.timezone.impl=UTC)添加到JVM标志中。

我得到了这个错误,并在控制台中找到了port already in use

我关闭了eclipse并杀死了javaw.exe。然后一切都很好。

相关内容

  • 没有找到相关文章

最新更新