如何在vs代码中调试Java maven spring-boot应用程序?
问题描述:
我能够调试一个简单的Java Hello World。第一步是“编译”javac -g
。我查了一下如何用maven实现,并发现http://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html,但这些指令用于运行应用程序并等待调试器连接。如何在vs代码中调试Java maven spring-boot应用程序?
我也尝试使用target/classes
为classpath
在launch.json
。调试器抱怨它无法在根目录/
中找到文件,但它运行。尽管调试器正在运行,但应用程序并未响应HTTP请求。
是否有mvn
命令编译应用程序与javac -g
并产生一个.class
调试器能够成功运行?
答
您将只能够远程调试与VS代码,所以一个简单的命令将mvnDebug spring-boot:run
,它会做同样的事情,mvn spring-boot:run
但添加这些选项:
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
然后你可以从VS连接代码样本launch.json样子:
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Launch)",
"request": "launch",
"mainClass": "",
"args": ""
},
{
"type": "java",
"name": "Debug (Attach)",
"request": "attach",
"hostName": "localhost",
"port": 8000
}
]
}
,你可以从调试面板中选择Debug(Attach)
运行。