Вот некоторая предыстория моего конкретного случая. Мне дали многомодульный проект maven, и я открыл весь проект как одно рабочее пространство в VSCode. Модули развертываются на сервере JBoss как файлы .war
. Каждый модуль имеет свой собственный artifactId
и может вызывать другие модули (через HTTP или другие протоколы). Я создал файл launch.json
в каталоге .vscode
. Этот каталог .vscode
находится среди других модулей прямо под проектом root. Файл launch.json
содержит следующее содержимое:
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Attach) - Remote",
"request": "attach",
"hostName": "<ip_address>",
"port": 8787
}
]
}
Это работает, если мне не нужно оценивать операторы в консоли отладки. Я мог бы также добавить "projectName": "<artifactId>"
, когда мне нужно оценить операторы для одного модуля. Однако мне не удалось отладить несколько модулей одновременно . В настоящее время я делаю следующее: 1) остановил отладчик, 2) отредактировал projectName
на artifactId
следующего модуля, 3) снова присоединил отладчик (и запустил новый запрос). Это не похоже на оптимальный способ отладки этого типа проектов в VSCode. Обратите внимание, что я также пытался поместить родительский POM artifactId
или даже имя каталога проекта root как projectName
, но они тоже не работали (в данном случае просто написано: « Невозможно выполнить оценку из-за java .lang.IllegalStateException: Project не может быть найден »).