【发布时间】:2021-01-15 20:01:21
【问题描述】:
我正在使用 VSCode 来调试 Quarkus 应用程序,它与 quarkus 工具配合得很好。但是我找不到如何应用特定的 quarkus 配置,例如dev、staging 或 prod,因为它们在 application.properties 文件中定义。知道如何使用指定的配置文件启动调试器吗?
【问题讨论】:
标签: java visual-studio-code quarkus vscode-debugger
我正在使用 VSCode 来调试 Quarkus 应用程序,它与 quarkus 工具配合得很好。但是我找不到如何应用特定的 quarkus 配置,例如dev、staging 或 prod,因为它们在 application.properties 文件中定义。知道如何使用指定的配置文件启动调试器吗?
【问题讨论】:
标签: java visual-studio-code quarkus vscode-debugger
这并不能完全回答您的问题 - 我还没有找到从 Visual Studio Code 中启动该过程的方法。我使用的方法是使用所需的配置文件启动 Quarkus 应用程序(您的方法可能不同):
./gradlew quarkusDev
在我的 launch.json 文件中,我添加了以下部分:
{
"type": "java",
"name": "Quarkus",
"request": "attach",
"hostName": "localhost",
"port": "5005"
}
接下来,我在调试器中运行了“Quarkus”配置文件,并将其附加到远程进程。请注意,这假设您正在从 localhost 运行 Quarkus,并且“在地址:5005 处侦听传输 dt_socket”。
【讨论】:
[假设你在 VS Code 中使用了很棒的 Quarkus 扩展]。假设您想创建一个新的启动配置以在 staging 配置文件中启动 Quarkus,同时保留 dev 配置文件的默认启动配置。在您的 .vscode/launch.json 中,添加一个新配置:
{
"preLaunchTask": "quarkusDev:staging",
"type": "java",
"request": "attach",
"hostName": "localhost",
"name": "Debug Quarkus application [Staging]",
"port": 5005
}
此启动配置引用了您还需要在 .vscode/tasks.json 中创建的新启动任务 (quarkusDev:staging)。这实际上定义了您希望 Quarkus 开始使用的特定配置文件,方法是将 -Dquarkus.profile 附加到命令:
{
"label": "quarkusDev:staging",
"type": "shell",
"isBackground": true,
"group": "build",
"command": "./gradlew quarkusDev --console=plain -Dquarkus.profile=staging",
"windows": {
"command": ".\\gradlew.bat quarkusDev --console=plain -Dquarkus.profile=staging"
},
"problemMatcher": [
{
"pattern": [
{
"regexp": "\\b\\B",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": "^.*Starting a Gradle Daemon*",
"endsPattern": "^.*Quarkus .* started in .*\\."
}
}
]
}
【讨论】: