Запуск режима разработки GWT в отладчике eclipse

Это для GWT 2.7.0 и Google App Engine 1.9.34.

У меня есть приложение GWT, которое отлично работает при запуске приложения в режиме Super Dev в сценарии сборки ANT из Eclipse. Это задача ANT:

<target name="hosted" depends="javac" description="Run hosted mode">
<java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode">
  <classpath>
    <pathelement location="${src.dir}"/>
    <path refid="project.class.path"/>
  </classpath>
  <jvmarg value="-Xmx1536M"/>
  <arg value="-startupUrl"/>
  <arg value="eDaptiv.html"/>
  <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->
  <arg value="${entrypoint.class}"/>
</java>

Запускается отладчик режима разработки, и журнал направляется на консоль в Eclipse.

Когда я пытаюсь запустить приложение с помощью команды «Выполнить» -> «Отладка» с использованием конфигурации запуска Google Web App, я получаю сообщение об ошибке, показанное ниже. Я знаю, что Google App-engine не поддерживает JDBC, но не могу понять, почему он работает при использовании сценария сборки ANT для запуска. Я предполагаю, что мне нужно каким-то образом настроить Google Web App, чтобы он каким-то образом не использовал механизм приложения, но, похоже, не нашел способа его отключить.

=== 2017-01-15 17:09:56,511 [70-0] ОШИБКА ScreenLoaderServlet - screenLoader - исключение верхнего уровня com.isomorphic.servlet.ScreenLoaderServlet java.lang.NoClassDefFoundError: java.lang.management.ManagementFactory является ограниченным класс. Дополнительные сведения см. в руководстве разработчика Google App Engine. в com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:52) в com.isomorphic.util.IOUtil._threadSafeTmpFileName(IOUtil.java:321) в com.isomorphic.util.IOUtil .threadSafeTmpFileName(IOUtil.java:311) в com.isomorphic.sql.SQLDriver.(SQLDriver.java:2281) в java.lang.Class.forName0(собственный метод) в java.lang.Class.forName(Class.java: 259) по адресу com.google.appengine.tools.development.agent.runtime.RuntimeHelper.checkRestricted(RuntimeHelper.java:70) по адресу com.google.appengine.tools.development.agent.runtime.Runtime.checkRestricted(Runtime.java: 65) в com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:309)


person Christopher Broderick    schedule 15.01.2017    source источник


Ответы (1)


Кажется, что просто публикация вопроса привела мои мысли к ответу .... В Eclipse Neon нет флажка для исключения Google App Engine.

Однако в конфигурации запуска моего приложения в Google Web App на вкладке "(x)=Arguments" одним из аргументов был следующий: -server com.google.appengine.tools.development.gwt.AppEngineLauncher

Простое удаление этого аргумента оказалось решением, поскольку оно работало над удалением этого аргумента, а затем в режиме отладки.

Однако простое удаление параметра -server не сохраняется .... что-то возвращается и снова добавляет его после завершения сеанса отладки, поэтому, когда вы пытаетесь запустить его снова, вы возвращаетесь к той же ошибке, если вы не удалите его перед запуском.

Постоянное решение состоит в том, чтобы изменить его на: -server com.google.gwt.dev.shell.jetty.JettyLauncher

person Christopher Broderick    schedule 15.01.2017