Как первый пользователь, мне удалось заставить его работать, но для меня это было непросто.
Думаю, мало кто знаком с этой IDE, поэтому я опубликую шаги, которые я выполнил, в качестве базового руководства:
Загрузите и установите версию jGRASP 2.0.5_05 Бета.
Поскольку у меня установлено несколько JDK, он по умолчанию выбрал JDK 10.0.2, поэтому моим первым шагом было найти способ работы с JDK 11. Это можно сделать в Settings -> jGrasp Startup Settings
, где я могу указать путь для моего java
исполняемого файла:
Затем я перезапустил jGrasp. Вы можете проверить, какой JDK использует IDE в Tools -> System Info -> Java Version
.
Откройте образец класса HelloFX. Я начал с самого простого примера из документации OpenJFX. Код можно найти здесь.
Build -> compile
, как и ожидалось, выдаст кучу ошибок, учитывая, что JavaFX больше не является частью JDK:
Следуя документации OpenJFX, нам необходимо загрузить JavaFX SDK с здесь, а затем добавить библиотеку в путь к классам. Перейдите к Settings -> PATH/CLASSPATH -> Workspace
, нажмите «Создать» и добавьте, один за другим, разные jar-файлы JavaFX из загруженной папки SDK / lib (как минимум javafx-base.jar
, javafx-graphics.jar
и javafx-controls.jar
).
Build -> compile
теперь должен работать.
Следующий шаг: Build -> Run
. Это не удается:
----jGRASP exec: java HelloFX
Error: JavaFX runtime components are missing, and are required to run this application
----jGRASP wedge: exit code for process is 1.
----jGRASP: operation complete.
Это было ожидаемо. Согласно документации, нам нужно установить аргументы module-path и add-modules.
- Первая попытка: используйте
Run arguments
. После установки:
--module-path /Users/<user>/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls
повторный запуск завершился неудачно с тем же сообщением об ошибке, что и выше, но с одним отличием в журнале консоли:
----jGRASP exec: java HelloFX --module-path /Users/<user>/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls
Что случилось с этим!? Что ж ... если вы попробуете это в командной строке, это тоже не удастся, потому что порядок аргументов неправильный, аргументы vm должны идти перед именем класса.
В заключение: Run arguments
не VM arguments
!
- Вторая попытка: чтобы предоставить аргументы виртуальной машины, я нашел вариант отредактировать
Settings -> Compiler settings -> Workspace
. По умолчанию используется jdk (integrated debugger) - generic
. Вы можете просмотреть его и увидеть, что Run
он использует:
java %S -ea %S %<FLAGS2> %<MAIN_CLASS> %<ARGS>
Поэтому вместо ARGS
нам нужно найти способ установить FLAGS2
.
К счастью, рядом с вкладкой Environment
есть вкладка Flags/Args
, и там мы можем установить наши аргументы vm в FLAGS2
:
--module-path /Users/<user>/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls
- Примените, закройте диалог и
Build -> Run
класс, теперь он будет работать!
Если вы видите журнал консоли, он содержит именно ту команду, которую вы использовали бы при запуске в командной строке:
----jGRASP exec: java --module-path /Users/<user>/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls HelloFX
----jGRASP: operation complete.
Думаю, следующим шагом будет запуск более сложного проекта ...
person
José Pereda
schedule
13.02.2019
"[path]\lib"
Дополнительный вопрос: когда вы говорите, что добавили путь к классам, чтобы включить jar, вы добавили его в путь к классам Windows или путь к классам IDE? - person sorifiend   schedule 13.02.2019