Ошибка при запуске проекта GAE / GWT: невозможно восстановить предыдущий часовой пояс - PullRequest
2 голосов
/ 18 марта 2012

Когда я пытаюсь запустить проект GWT App Engine с помощью плагина Eclipse, я получаю следующую ошибку:

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)

Ответы [ 3 ]

8 голосов
/ 17 апреля 2012

Крис Кэшвелл дал правильный ответ . Но для таких людей, как я, которые являются относительно новыми в Eclipse, вот более четкие инструкции (с которыми я сталкивался здесь ):

  1. Щелкните правой кнопкой мыши каталог проекта в окне Project Explorer
  2. Выбрать Запуск от имени > Запуск конфигураций ...
  3. Перейти к Аргументы Вкладка
  4. В текстовом поле VM Arguments добавьте один из следующих параметров, упомянутых Крисом:
    • -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
3 голосов
/ 18 марта 2012

См. этот отчет об ошибке . Для меня это было исправлено путем понижения JDK с 1.7.0_03 -> 1.7.0_02. Другие вещи, которые, как предполагалось, работают, добавляют -Dappengine.user.timezone=UTC (или в некоторых случаях -Dappengine.user.timezone.impl=UTC) к флагам JVM.

1 голос
/ 01 марта 2013

Я получил эту ошибку и обнаружил port already in use в консоли.

Я закрыл затмение и убил javaw.exe.Тогда все работало нормально.

...