我有两个项目,A和B,都是maven项目。项目A依赖于项目B的pom.xml。
它们都是我工作区中的本地项目,所以当我运行项目A时,我希望有时在项目B上放置一个断点并逐步执行代码,但这不起作用。相反,断点命中并停止,但它表示找不到源,并显示它正在使用我本地Maven存储库中安装的jar文件。
我尝试进入项目A的构建路径配置并在那里引用项目B,但这没有什么区别。
如何在运行项目A时单步执行项目B上的代码?既然他们都是本地的我肯定必须有一种方式......这是一个简单的用例,我一定会遗漏一些东西。
任何帮助表示赞赏!谢谢!
答案 0 :(得分:0)
从上下文菜单中打开项目A的属性,单击 Maven 并查找复选框从工作区项目中解析依赖项。如果没有设置,这将解释您所看到的行为。
在这种情况下,激活复选框并运行 Maven |更新项目应解决您的问题。
答案 1 :(得分:0)
使用正确的端口号
在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
Eclipse - >运行 - >调试配置 - >在Maven下选择“Debug” 构建 - >单击Debug
(注意:在控制台中,您将看到"在地址:5005&#34听取传输dt_socket;)
现在再次:
Eclipse - >运行 - >调试配置 - >在远程Java下 应用程序 - >选择“XXXRemote”单击“调试”按钮
单击“是”以获取Debug Perspective以启动调试。
有时需要杀死端口,请按照以下步骤操作:
lsof -i:<port number>
kill -9 <PID>