我是App Engine的新手,正在尝试使用Java编写一些示例Web应用程序。我无法弄清楚如何在Eclipse中调试Java Web应用程序项目。
当我启动调试配置时,SDK的Jetty服务器启动,并且我可以从浏览器访问我的页面。但是我的servlet中没有任何断点被命中。我是否缺少某些调试配置?
我是App Engine的新手,正在尝试使用Java编写一些示例Web应用程序。我无法弄清楚如何在Eclipse中调试Java Web应用程序项目。
当我启动调试配置时,SDK的Jetty服务器启动,并且我可以从浏览器访问我的页面。但是我的servlet中没有任何断点被命中。我是否缺少某些调试配置?
Run menu -> Debug As -> Web Application
当然,这会在Eclipse调试器内的Web服务器中运行您的应用程序。有关详细信息,请参见 运行项目。
对于那些想在Eclipse中调试Google App Engine但不使用GAE Eclipse插件的人,我在这里写了一个详细的答案: 应用引擎+模块+maven的开发工作流程
如所请求,这里是答案的副本:
- 打开另一个终端,即war目录中的Terminal 2,并保持打开状态,以便在需要时运行
mvn compile install
。- 您可以开始集成源代码,只需将其粘贴到正确的位置即可。您还可以使用标准的调试技术。Eclipse将在正确的位置进行编译,devserver将正确检测到它。如果Eclipse出现警告,请忽略它。
- 这通常有效。有时,您保存了某些内容,导致整个项目的编译出现错误,或者更改了从预编译类中调用的函数名称,或者仅更改了在启动时加载的web.xml。当然,此时热部署将无法正常工作。
- 在这种情况下,停止Eclipse内的远程调试,完成任务后从Terminal 2运行
mvn compile install
。Devserver将自动检测。- 大多数情况下,我几乎不需要触及在Terminal 1中运行的尾部。Devserver不需要重新启动。
- 除非我正在更改web.xml或重构,否则我不需要从外部运行
mvn compile install
。
我给出窗口列表(Eclipse、Terminal 1和Terminal 2)的原因只是为了说明Alt+Tab实际上比在Eclipse内部使用Shift+F7更快。这是主观的,当然取决于您自己。