maven环境下debug代码

本文介绍了如何在Maven环境下进行远程debug。针对Maven unit test,当IntelliJ IDEA无法正常加载测试代码时,可通过新版maven-surefire-plugin执行特定测试方法,并设置环境变量进行远程调试。对于Maven plugin的开发,文章提供了利用remote debug安装到本地repository后执行并调试的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、debug maven unit test

远程debug maven unit testcase,适用场景:

  • 远程跟踪调试服务器上某个单测。
  • 某些情况开发工具不能正常加载单测代码我的intellij idea因为单测执行之前要等待大量的diamond推送导致,所有单测都执行失败,需要在命令行执行才可以。

使用新版的maven-surefire-plugin,支持执行某个单测方法:

<build>
<plugins>
...
<plugin>
             <groupId>org.apache.maven.plugins</groupId>
             artifactId>maven-surefire-plugin</artifactId>
            <version>2.16</version>
</plugin>
...
</plugins>

在工程的${basedir}的命令中执行:

mvn test -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787 -Xnoagent -Djava.compiler=NONE" -Dtest=com.taobao.service.SomeServiceTest#someMethod 

为了方便可以将
-Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787 -Xnoagent -Djava.compiler=NONE"
设置为环境变量,例如MAVEN_DEBUG_TEST,执行单测就比较方便了:
maven test ${MAVEN_DEBUG_TEST} -Dtest=com.taobao.service.SomeServiceTest#someMethod
在ide中配置remote debug,连接上当前case就行了。

2、debug maven plugin

在开发maven plugin的时候,最不舒服的地方是查询plugin代码逻辑中的bug。每次都要install本地,通过log或者debug的方式来确认代码是否正确。 debug plugin的代码比较方便,需要通过remote debug的方式:

  • 将plugin install到本地repository中,然后通过mvnDebug 的方式执行plugin
  • 命令行处于debug listening状态,在ide中配置remote debug,连接到命令行即可


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值