如何使用Visual Studio代码调试java dropwizard应用程序
设置Visual Studio代码以使用Java扩展包调试Java Dropwizard应用程序还需要哪些其他步骤?我遵循官方vscode java调试页面上的说明: 针对位于此处的官方dropwizard示例应用程序: 当我在vscode中设置默认lauch配置文件并尝试运行它时,调试控制台将打印以下消息: dropwizard应用程序的启动方式似乎有一些根本性的不同,导致默认vscode调试设置无法工作。我猜需要一些定制的启动任务,但是我很难找到其他对dropwizard应用程序使用vscode的人 dropwizard应用程序本身使用wiki中的指令成功运行-我无法使用默认的vscode调试指令进行调试。我已经使用vscode调试说明页面上提供的相同步骤成功调试了另一个java应用程序。这是一个在第一次尝试(Sprint启动)中完美运行的项目:如何使用Visual Studio代码调试java dropwizard应用程序,java,debugging,visual-studio-code,dropwizard,Java,Debugging,Visual Studio Code,Dropwizard,设置Visual Studio代码以使用Java扩展包调试Java Dropwizard应用程序还需要哪些其他步骤?我遵循官方vscode java调试页面上的说明: 针对位于此处的官方dropwizard示例应用程序: 当我在vscode中设置默认lauch配置文件并尝试运行它时,调试控制台将打印以下消息: dropwizard应用程序的启动方式似乎有一些根本性的不同,导致默认vscode调试设置无法工作。我猜需要一些定制的启动任务,但是我很难找到其他对dropwizard应用程序使用vs
更新 (注意:我仍然对学习如何连接vscode来启动应用程序感兴趣,这样我也可以做一些事情,比如调试应用程序初始化) 我找到了一种启动应用程序的方法,您可以使用默认的vscode启动配置连接到正在运行的进程。以下是我偶然发现的wiki页面,它展示了如何使用mvnDebug: 维基页面上的说明几乎就是我们需要的。改为执行以下操作(假设您已经按照上面vscode wiki中针对java的默认launch.json文件的说明进行了操作):
mvnDebug exec:java-Dexec.mainClass=“com.example.helloworld.HelloWorldApplication”-Dexec.args=“server example.yml”
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Launch)-HelloWorldApplication<dropwizard-example>",
"request": "launch",
"cwd": "${workspaceFolder}",
"console": "internalConsole",
"stopOnEntry": false,
"mainClass": "com.example.helloworld.HelloWorldApplication",
"projectName": "dropwizard-example",
"args": ""
},
{
"type": "java",
"name": "Debug (Attach)",
"request": "attach",
"hostName": "localhost",
"port": 8000
}
]
}
{
//使用IntelliSense了解可能的属性。
//悬停以查看现有属性的描述。
//有关更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387
“版本”:“0.2.0”,
“配置”:[
{
“类型”:“java”,
“名称”:“调试(启动)-HelloWorldApplication”,
“请求”:“启动”,
“cwd”:“${workspaceFolder}”,
“控制台”:“内部控制台”,
“stopOnEntry”:false,
“mainClass”:“com.example.helloworld.helloworld应用程序”,
“项目名称”:“dropwizard示例”,
“args”:”
},
{
“类型”:“java”,
“名称”:“调试(附加)”,
“请求”:“附上”,
“主机名”:“本地主机”,
“港口”:8000
}
]
}
然后,您应该能够像以前一样点击应用程序,但现在可以设置断点:
并设置断点 添加另一个配置以启动配置(launch.json in.vscode),如下所示-
{
"type": "java",
"name": "Debug (Launch) with Arguments Prompt",
"request": "launch",
"mainClass": "{mainClass}",
"args": "server config.yml"
}
{
"type": "java",
"name": "Debug (Launch) with Arguments Prompt",
"request": "launch",
"mainClass": "{mainClass}",
"args": "server config.yml"
}