[英]Maven archetype for pure serverside war-packaged Java EE 6 application?
[英]Best way to debug Java web application packaged as a WAR using Eclipse and Maven?
我以前没有构建过Java Web应用程序,但我已经完成了测试,Maven正在构建我的WAR文件。 它是一个多模块Maven项目,依赖模块都将其JAR文件放在WAR的WEB-INF / lib目录中。
所以一切似乎都很好,但如何调试? 我知道如何(从命令行)在我的机器上运行Tomcat中的WAR。 我也认为我知道如何从命令行设置和运行Maven Jetty插件。 但是如何最好地调试...我喜欢Eclipse的所有断点和变量检查?
我应该创建某种启动配置,还是远程连接调试器? Eclipse中有什么东西可以帮助...就像一个插件?
如果使用tomcat / jetty插件运行WAR,请将调试选项传递给Maven:
export MAVEN_OPTS="-Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000" mvn tomcat:run
如果使用常规Tomcat运行WAR,只需在启用JPDA(调试器)支持的情况下运行它:
$TOMCAT_HOME/bin/catalina.sh jpda start
Tomcat 6 JPDA的默认端口是8000。
现在连接Eclipse(Debug - > Remote Java Application)到端口8000,享受精细的调试会话。
将调试选项添加到$MAVEN_OPTS
选项的更好方法,因此不将它们与其他现有选项合并(如果您想要在调试模式下启动应用程序,则必须再次删除这些选项),就是使用Maven开箱即用的调试器mvnDebug
,位于其bin目录下,这样mvnDebug jetty:run
。 这将在调试模式下执行您的应用程序,剩下的是附加调试器。
通过eclipse启用调试:
我将以下内容传递给Tomcat启动:
-Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=9999,suspend=n
然后通过Eclipse做远程调试。
转到调试菜单>调试配置
向下滚动以选择远程Java应用程序
要开始调试,请在服务器运行时打开它.---
我应该创建某种启动配置,还是远程连接调试器? Eclipse中有什么东西可以帮助...就像一个插件?
使用m2eclipse (以及从Extras 安装的 WTP Maven Integration ),您可以使用WTP并以调试模式启动应用程序。
作为替代方案,您可以将远程调试器连接到Jetty。 请参阅Eclipse中的Maven Jetty插件调试 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.