受/sf/answers/1039757841/的启发,我尝试使用 mvnDebug 和 IntelliJ 远程调试 Maven 项目。但是,执行不会在我的断点处停止。重现一个简单的 Hello World 示例:
在本地机器上:
git clone https://github.com/LableOrg/java-maven-junit-helloworld.git
cd java-maven-junit-helloworld
mvnDebug test
Run Code Online (Sandbox Code Playgroud)
在远程机器上:
打开 Hello.java,在显示的行处设置断点printer.println(HELLO);
运行->调试...->编辑配置...,添加新配置->远程
现在,测试将运行而不会在断点处停止。为什么?
小智 12
运行mvnDebug命令时,使用-DforkMode=never.
所以你的 Maven 命令将如下所示:
mvnDebug -DforkMode=never -Dmaven.surefire.debug clean install
Run Code Online (Sandbox Code Playgroud)
有关 的更多信息-DforkMode=never,请阅读此处
您需要将debugForkedModeof设置maven-surefire-plugin为 true
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<debugForkedProcess>true</debugForkedProcess>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
然后在端口 5005 上添加另一个远程调试配置。
| 归档时间: |
|
| 查看次数: |
3979 次 |
| 最近记录: |