Maven debug in eclipse

转自:http://zachary-guo.iteye.com/blog/1492888

Debug maven project in eclipse

这里以 java web application 为例,容器为 jetty,使用 jetty maven plugin 来运行 java web application。 

  1. 配置一个外部工具来运行 jetty:Run -> External Tools -> External Tools Configurations,选择 Program,点击 New 按钮。Name 就是新建的外部应用程序的名字,你随便起咯。
  •          Main tab Location:你的 maven 的安装目录下 mvn 命令的完整路径,即 ${MAVEN_HOME}/bin/mvn.bat,这里填绝对路径就行了,我试了 %MAVEN_HOME%/bin/mvn.bat 貌似不起作用。
  •          Main tab Working Directory:要调试的 maven 工程的目录,即 pom.xml 所在的目录。你可以通过下面的三个按钮(Browse Workspace, Brose File System, Variables)来选择,至于哪一个,随你咯。
  •          Main tab Arguments:jetty:run。
  •          Environment tab:新建一个 Environment varibles,Name 为 MAVEN_OPTS,Value 为 -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y -Xms256m -Xmx512m。其中,如果 suspend=n 表示不调试,直接运行,这是不推荐的做法,最好写 y。注意,value 的 address 的值,在后续的 debug configuration 中需要用到,其实就是外部应用程序的监听端口。
  • 进行 debug 运行配置:Run -> Debug Configuration,选择 Remote Java Application,点击 New 按钮。Name 就是要调试的程序的名字,你随便起咯。
  •          Connect tab Project:通过 browse 按钮选择要调试的工程,和上面新建外部应用程序的 Main tab 的 Working Directory 是一个道理。
  •          Connect tab Connection Properties:由于外部应用程序就配置在本机,所以 Host 填 localhost 即可;Port 就是在新建外部应用程序的 Environment tab 新建的 MAVEN_OPTS 变量的值中 address 指定的值,即外部应用程序的监听端口。
  • OK,现在可以在 eclipse 中设置断点来调试了。首先按照步骤 1 启动项目,然后运行刚刚新建的 Remote Java Application。如果不运行 Remote Java Application,那么只是运行,并不能达到调试的效果。

猜你喜欢

转载自xujava.iteye.com/blog/1883666