适用于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)
答案 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