运行GWT/GAE应用程序时出现java时区错误
我在运行GWT/GAE应用程序时遇到此错误:
java.lang.RuntimeException: Unable to restore the previous TimeZone at com.google.appengine.tools.development.DevAppServerImpl.restoreLocalTimeZone(DevAppServerImpl.java:348) at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:251) 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.NoSuchMethodException: java.util.TimeZone.setDefaultInAppContext(java.util.TimeZone) at java.lang.Class.getDeclaredMethod(Class.java:2117) at com.google.appengine.tools.development.DevAppServerImpl.restoreLocalTimeZone(DevAppServerImpl.java:344) at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:251) 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)
虽然我添加了-Dappengine.user.timezone=UTC
和-Dappengine.user.timezone.impl=UTC
# 1 楼答案
当我将GAE版本从1.8.0更新到1.8.8+时,错误得到了修复
# 2 楼答案
如果你得到了java。JDK 8上的lang.NoSuchMethodException错误,很可能是这个bug https://github.com/GoogleCloudPlatform/gcloud-maven-plugin/issues/54
这里讨论的解决方案是向appengine maven插件添加配置
在旧的解决方案中,将参数作为-D传递(也不能添加.impl)作为discuess
# 3 楼答案
试试这个
例如,这是针对波哥大、利马、基多的。。你可以选择你的区域here