Если вы скопируете добавление параметров VM в pom. xml для javafx-maven-plugin, как указано Хосе Переда , вы можете запустить приложение с помощью 'mvn javafx:run@debug' а затем вручную подключите его к IntelliJ Debugger с помощью go в меню «Выполнить - присоединить к процессу ...» и выберите свое приложение.
Однако, если вы хотите, чтобы отладчик и приложение запускались одним щелчком, IntelliJ - это хлопотно. Вы можете создать конфигурацию удаленной отладки, которая сначала запускает ваше приложение и отладчик последовательно. Или есть составные конфигурации, которые делают оба параллельно. Проблема в том, чтобы синхронизировать их.
Я нашел следующее решение. Сделайте ваше приложение запущенным как клиент отладки, а отладчик IntelliJ как сервер. Параметры виртуальной машины для подключаемого модуля javafx-maven в файле pom. xml должны иметь 'server = n':
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.4</version>
<executions>
<execution>
<!-- Default configuration for running -->
<id>default-cli</id>
<configuration>
<mainClass>org.waninge.test.JFXTest</mainClass>
</configuration>
</execution>
<execution>
<!-- Configuration for debugging -->
<id>debug</id>
<configuration>
<options>
<option>-agentlib:jdwp=transport=dt_socket,server=n,address=localhost:8000,suspend=y</option>
</options>
<mainClass>org.waninge.test.JFXTest</mainClass>
</configuration>
</execution>
</executions>
</plugin>
Создать конфигурацию запуска Maven в IntelliJ с помощью 'javafx:run@debug' в 'Командная строка'. Создайте конфигурацию удаленного запуска со следующими параметрами:
- Режим отладчика: «Прослушивание удаленной JVM»;
- Транспорт: «Сокет»;
- Хост: as в порту pom
- : как в pom
Теперь конфигурация удаленного запуска запустит сервер отладки, ожидающий клиентов. Конфигурация запуска Maven подключится к серверу отладки или потерпит неудачу, если сервер отладки не подключен.
Теперь, чтобы начать работу одним щелчком мыши, вы можете создать конфигурацию составного запуска и добавить Maven. и Конфигурация удаленного запуска к нему. При запуске этой конфигурации они будут запущены параллельно, и вы сможете отлаживать ваше приложение.