Приложение не останавливается на установленной точке останова с помощью mvnDebug - PullRequest
0 голосов
/ 22 января 2020

Я использую Intellij IDE для приложения с весенней загрузкой. По многим причинам я предпочитаю использовать внешний терминал для запуска приложения, а не использовать встроенную опцию запуска и отладки в самой IDE.

Я запускаю приложение с командой mvn spring-boot:run на внешнем терминале. Это работает, как ожидалось, но я не могу отладить приложение. Я использую команду mvnDebug spring-boot:run на внешнем терминале, когда хочу отладить, как указано в этом ответе . Затем я создаю конфигурацию Remote для подключения через порт 8000, что она успешно делает. Но приложение не останавливается на точках останова, которые я устанавливаю.

Я уверен, что Intellij может подключиться к процессу mvnDebug, потому что, как только я нажимаю кнопку Debug в IDE, я получаю следующий вывод.

Подключен к целевой виртуальной машине, адрес: «localhost: 8000», транспорт: «сокет»

Также я знаю, что IDE способна внести изменения в classpath, потому что, как только я внесу изменения в файлы .java, сервер весенней загрузки перезапустится во внешнем терминале с последними изменениями.

Но приложение все равно не останавливается на заданном уровне. контрольные точки. Что еще мне нужно сделать?

Другая информация : Я использую Java 8, Maven 3.6.1

1 Ответ

2 голосов
/ 22 января 2020

mvnDebug откроет для отладки JVM, которая запускает maven.

Плагин по умолчанию настроен таким образом, что он порождает другую JVM для запуска Java Spring Boot Application (разветвленный процесс) .

Итак, вы, вероятно, подключаетесь к виртуальной машине Maven.

Поэтому вы должны указать параметры отладки в конфигурациях подключаемых модулей Spring Boot:

<project>
  ...
  <build>
    ...
    <plugins>
      ...
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>2.2.4.RELEASE</version>
        <configuration>
          <jvmArguments>
            -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
          </jvmArguments>
        </configuration>
        ...
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

Источник весенняя загрузка плагина официальная документация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...