我正在从 Google Plugin for Eclipse 切换到到官方谷歌App Engine Maven Plugin .
我希望,我无法弄清楚的最后一件事是如何设置良好的调试工作流程。当我使用 GPE 时,我只是设置断点,调试器会自动停在那里,但是当我通过 mvn appengine:devserver
运行开发服务器时,我认为开发服务器和 eclipse 并不知道彼此。
如何让他们互相交谈?
最佳答案
第一个选项是将您的项目设置为使用 WTP,如@ https://cloud.google.com/appengine/docs/java/webtoolsplatform 所述.这是我切换到的方法。
第二个选项是使用两个调试配置。
第一个调试配置将运行您的 Maven 目标,即 appengine:devserver
。
第二个是Remote Java Application
配置,将调试客户端连接到devserver jvm。
这还需要将一些 jvm args 传递给 maven 目标。
<!-- GAE plugin -->
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.7.5-SNAPSHOT</version>
<configuration>
<jvmFlags>
<jvmFlag>-Xdebug</jvmFlag>
<jvmFlag>-Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=y
</jvmFlag>
</jvmFlags>
<disableUpdateCheck>true</disableUpdateCheck>
</configuration>
</plugin>
一旦这 3 件事准备就绪,运行 maven 调试配置,然后运行调试客户端配置,然后运行您的应用程序。
尚不支持热交换,因此如果您更改任何非资源文件(任何 Java 源),开发服务器将看不到它们。将部署资源文件(静态文件:html、js)。
关于eclipse - 如何制作 Eclipse 和 mvn appengine :devserver talk to each other?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13924990/