Я пытаюсь отладить приложение Spring bootRun через VSCode. Я не уверен, какова правильная конфигурация запуска.
Вот так я запускаю программу в терминале
./gradlew bootRun -Dspring.profiles.active=local
Это текущие конфигурации, которые я попробовал без удачи.
Launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug",
"args": [
"bootRun",
"-Dspring.profiles.active=local"
],
"mainClass": "com.test.Application",
"request": "launch"
},
{
"type": "java",
"preLaunchTask": "gradle",
"name": "Debug Task",
"request": "attach",
"hostName": "localhost",
"port": 5005
}
]
}
Tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "gradle",
"type": "shell",
"command": "./gradlew",
"args": [
"bootRun",
"-Dspring.profiles.active=local",
"--debug-jvm"
],
"problemMatcher": []
}
]
}
Конфигурация "Debug" выдает следующую ошибку
No active profile set, falling back to default profiles: default
Конфигурация «Debug Task» запускает задачу, но ждет, пока задача не завершится, чего никогда не будет. Поэтому я не могу его отладить.
РЕДАКТИРОВАТЬ 1:
Так что, если я запускаю эту задачу
{
"version": "2.0.0",
"tasks": [
{
"label": "gradle",
"type": "shell",
"command": "./gradlew",
"args": [
"bootRun",
"-Dspring.profiles.active=local",
"--debug-jvm"
],
"problemMatcher": []
}
]
}
Затем запустите эту конфигурацию запуска
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "task 2",
"request": "attach",
"hostName": "localhost",
"port": 5005
}
]
}
Я могу отладить приложение, но это только присоединяет отладчик к процессу. Поэтому я должен вручную убить процесс, когда я закончу отладку. В идеале я хотел бы запускать и останавливать приложение с помощью vscode через конфигурацию запуска.
РЕДАКТИРОВАТЬ 2:
Я могу добиться того, чего хочу в IntelliJ, с помощью этой конфигурации, но я хочу иметь возможностьсделать это в VScode.
РЕДАКТИРОВАТЬ 3:
Это моя текущая конфигурация, которая работает довольно хорошо. Я могу запустить программу с CMD-SHFT-B, затем F5, чтобы запустить отладчик.
Launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug",
"request": "attach",
"hostName": "localhost",
"port": 5005
}
]
}
Tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "gradle",
"type": "shell",
"command": "./gradlew",
"args": [
"bootRun",
"-Dspring.profiles.active=local",
"--debug-jvm"
],
"dependsOn": [
"kill-java"
],
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "kill-java",
"type": "shell",
"command": "pkill",
"args": [
"java"
]
}
]
}