调试Maven Eclipse项目,并逐步完成代码?

时间:2014-09-09 16:40:15

标签: java eclipse maven debugging m2eclipse

我有两个项目,A和B,都是maven项目。项目A依赖于项目B的pom.xml。

它们都是我工作区中的本地项目,所以当我运行项目A时,我希望有时在项目B上放置一个断点并逐步执行代码,但这不起作用。相反,断点命中并停止,但它表示找不到源,并显示它正在使用我本地Maven存储库中安装的jar文件。

我尝试进入项目A的构建路径配置并在那里引用项目B,但这没有什么区别。

如何在运行项目A时单步执行项目B上的代码?既然他们都是本地的我肯定必须有一种方式......这是一个简单的用例,我一定会遗漏一些东西。

任何帮助表示赞赏!谢谢!

2 个答案:

答案 0 :(得分:0)

从上下文菜单中打开项目A的属性,单击 Maven 并查找复选框从工作区项目中解析依赖项。如果没有设置,这将解释您所看到的行为。

在这种情况下,激活复选框并运行 Maven |更新项目应解决您的问题。

答案 1 :(得分:0)

第1步:设置

使用正确的端口号

在Remote Java Application中添加一个Listener,如下所示

(注意:端口号可能会有所不同,请检查控制台日志以了解要收听的端口)

  

Eclipse - >运行 - >调试配置 - >远程Java应用程序 - >   添加新的 - >

     

名称:“XXXRemote”| 主机:“localhost”| 端口:5005

  

Eclipse - >运行 - >调试配置 - >

     

Maven Build - >添加新的 - >示例 - > 名称:“XXXDebug” - > (选择当前项目

设置目标例如:

clean install -e -Dtags=@Test -DignoreTags=~@manual -DparallelScheme=SCENARIO -DjvmCount=1 -Ddomain=int -DrunEnv=Chrome -Dbamboo=false -Dmaven.failsafe.debug

步骤2:如何在调试模式下运行

  

Eclipse - >运行 - >调试配置 - >在Maven下选择“Debug”   构建 - >单击Debug

(注意:在控制台中,您将看到"在地址:5005&#34听取传输dt_socket;)

现在再次:

  

Eclipse - >运行 - >调试配置 - >在远程Java下   应用程序 - >选择“XXXRemote”单击“调试”按钮

单击“是”以获取Debug Perspective以启动调试。

EXTRA

有时需要杀死端口,请按照以下步骤操作:

  1. 查找例外中提到的端口号
  2. 打开unix命令行或终端窗口
  3. 执行lsof -i:<port number>
  4. 从列表中找到PID
  5. 执行kill -9 <PID>