在eclipse调试器中启动GWT开发模式

时间:2017-01-15 18:18:44

标签: eclipse gwt gwt-super-dev-mode

适用于GWT 2.7.0和Google App Engine 1.9.34

我有一个GWT应用程序可以在Eclipse中的ANT构建脚本中使用超级开发模式正常启动应用程序。这是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>

启动Dev模式调试器,并将日志记录定向到Eclipse中的控制台。

当我尝试使用Run运行应用程序时 - &gt;使用Google Web App运行配置进行调试我收到如下所示的错误。我知道Google App引擎不支持JDBC,但无法理解为什么它在使用ANT构建脚本启动时似乎有效。我假设我需要以某种方式配置Google Web App以某种方式不使用App引擎,但似乎找不到禁用它的方法。

=== 2017-01-15 17:09:56,511 [70-0] ERROR 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)     at com.isomorphic.util.IOUtil._threadSafeTmpFileName(IOUtil.java:321)     at com.isomorphic.util.IOUtil.threadSafeTmpFileName(IOUtil.java:311)     在com.isomorphic.sql.SQLDriver。(SQLDriver.java:2281)     at java.lang.Class.forName0(Native Method)     在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)     at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:309)

1 个答案:

答案 0 :(得分:0)

似乎只是发布问题已经引出了我的想法答案.... 在Eclipse Neon中没有用于排除Google App Engine的复选框。

但是,在Google Web App下我的应用的运行配置中,&#34;(x)= Arguments&#34; tab其中一个参数是: -server com.google.appengine.tools.development.gwt.AppEngineLauncher

简单地删除该参数似乎是解决方案,因为它有助于删除然后执行调试模式。

然而,简单地删除-server选项并不会持久......在调试会话终止后会再次将其重新添加回来,所以当您尝试再次运行它时,如果再次运行它,则会返回相同的错误,如果在运行之前不要将其删除。

持久解决方案是将其更改为: -server com.google.gwt.dev.shell.jetty.JettyLauncher