使用Eclipse和Maven调试打包为WAR的Java Web应用程序的最佳方法?

HDa*_*ave 10 java eclipse debugging maven-2

我以前没有构建过Java Web应用程序,但我已经完成了测试,Maven正在构建我的WAR文件.它是一个多模块Maven项目,依赖模块都将其JAR文件放在WAR的WEB-INF/lib目录中.

所以一切似乎都很好,但如何调试?我知道如何(从命令行)在我的机器上运行Tomcat中的WAR.我也认为我知道如何从命令行设置和运行Maven Jetty插件.但是如何最好地调试...我喜欢Eclipse的所有断点和变量检查?

我应该创建某种启动配置,还是远程连接调试器?Eclipse中有什么东西可以帮助...就像一个插件?

Hen*_*sek 20

如果使用tomcat/jetty插件运行WAR,请将调试选项传递给Maven:

export MAVEN_OPTS="-Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000" mvn tomcat:run
Run Code Online (Sandbox Code Playgroud)

如果使用常规Tomcat运行WAR,只需在启用JPDA(调试器)支持的情况下运行它:

$TOMCAT_HOME/bin/catalina.sh jpda start
Run Code Online (Sandbox Code Playgroud)

Tomcat 6 JPDA的默认端口是8000.

现在连接Eclipse(Debug - > Remote Java Application)到端口8000,享受精细的调试会话.