Wil*_*iam 9 java maven visual-studio-code vscode-debugger
这是我的具体案例的一些背景。我获得了一个多模块 Maven 项目,并在 VSCode 中将整个项目作为一个工作区打开。这些模块作为文件部署到 JBoss 服务器.war。每个模块都有自己的模块artifactId,并且可以调用其他模块(通过 HTTP 或其他协议)。我launch.json在目录中创建了一个文件.vscode。该.vscode目录位于项目根目录下的其他模块中。该launch.json文件包含以下内容:
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Attach) - Remote",
"request": "attach",
"hostName": "<ip_address>",
"port": 8787
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果我不需要在调试控制台中评估语句,则此方法有效。"projectName": "<artifactId>"当我需要评估单个模块的语句时,我还可以添加。但是,我无法同时调试多个模块。我当前正在做的是 1)停止调试器,2)编辑projectName下一个模块artifactId,3)再次附加调试器(并触发新请求)。这听起来不像是在 VSCode 中调试此类项目的最佳方式。请注意,我还尝试将父 POMartifactId甚至项目根目录名称设置为projectName,但它们都不起作用(在本例中,它只是说“无法评估,因为 java.lang.IllegalStateException:项目 <name> 无法被发现”)。
小智 0
您是否尝试过将projectName设置为通配符?
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Attach) - Remote",
"request": "attach",
"hostName": "<ip_address>",
"projectName": "*",
"port": 8787
}
]
}
Run Code Online (Sandbox Code Playgroud)
据我记得,通配符支持是依赖于调试器的,所以如果Java调试器没有实现它,这可能不起作用。
但是,您可能希望创建多个配置以避免每次都替换projectName :
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Attach) - Remote - Prj1",
"request": "attach",
"hostName": "<ip_address>",
"projectName": "project1",
"port": 8787
},
{
"type": "java",
"name": "Debug (Attach) - Remote - Prj2",
"request": "attach",
"hostName": "<ip_address>",
"projectName": "project2",
"port": 8787
}
]
}
Run Code Online (Sandbox Code Playgroud)
您将能够从“运行和调试”下拉菜单中轻松运行所需的程序。
编辑:刚刚注意到这个问题已经有3年历史了……哦,好吧,如果还需要的话
| 归档时间: |
|
| 查看次数: |
1472 次 |
| 最近记录: |