当我尝试使用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相对陌生的人来说,这里有更明确的说明(我在这里看到的):
- 在项目资源管理器窗口中右键单击项目目录
- 选择运行方式运行配置
- 转到参数选项卡
- 在VM Arguments文本框中,添加Chris提到的以下参数之一:
-Dappengine.user.timezone.impl=UTC
(在我的情况下有效)-Dappengine.user.timezone=UTC
- 单击应用,然后运行
在我的案例中,这是专门在我正在进行的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。然后一切都很好。