Как отладить приложение Maven OpenJFX в IntelliJ - PullRequest
0 голосов
/ 28 апреля 2020

Поскольку JavaFX стал OpenJFX и должен быть добавлен в качестве зависимости к вашему проекту Maven, отладка приложения OpenJFX стала сложной. В этом вопросе уже дан ответ, как решить его для NetBeans. Но IntelliJ работает немного иначе. Ppom. xml был настроен в соответствии с этим примером .

Как вы можете запустить приложение OpenJFX (JavaFX), которое настроено как проект Maven в режиме отладки в IntelliJ?

1 Ответ

0 голосов
/ 28 апреля 2020

Если вы скопируете добавление параметров 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. и Конфигурация удаленного запуска к нему. При запуске этой конфигурации они будут запущены параллельно, и вы сможете отлаживать ваше приложение.

...