Eclipse 2022中调试无JUnit测试用例的Maven应用问题
解决无JUnit测试的Maven应用调试端口监听问题
问题根源
maven-surefire-plugin是专门用于执行JUnit/TestNG测试用例的插件,你的项目没有任何测试用例,运行该插件的debug目标时,插件会直接执行完毕,不会启动调试端口。
正确调试方案
方案一:直接在IDE中调试主类
- 找到项目中带
main方法的主类 - 右键点击主类 → 选择「Debug '主类名称'」
- IDE会自动启动调试模式,默认监听5005端口,断点会正常触发
方案二:用maven-exec-plugin配置调试
- 在
pom.xml中添加exec插件配置:<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.1.0</version> <configuration> <mainClass>你的主类全路径(例如:com.example.App)</mainClass> </configuration> </plugin> </plugins> </build> - 配置IDE的Debug Configuration:
- 新建「Maven Build」配置,目标填写
exec:java - 在「VM Options」中添加调试参数:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
- 新建「Maven Build」配置,目标填写
- 启动调试,程序会在5005端口等待调试器连接,触发断点
方案三:命令行启动调试
执行以下命令(替换主类全路径和程序参数):
mvn exec:java -Dexec.mainClass="你的主类全路径" -Dexec.args="你的程序参数" -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
之后在IDE中创建「Remote JVM Debug」配置,端口填5005,连接后即可调试。
注意事项
- 确保断点设置在
main方法内部的有效代码行上,不要设置在类定义或空行 - 使用Remote Debug时,需先启动命令行的程序,再连接IDE调试器
内容的提问来源于stack exchange,提问作者Mohan
相关产品推荐
相关产品推荐

