Загвоздка в том что javafx стал модулем и сама модульная система работает чуть иначе.
Собственно раньше в java8 было так что:
- собрал jar и запускаешь его командой "java -jar имя_файла.jar"
- если есть зависимые библиотеки то так "java -cp зависимые_библиотеки.jar -jar имя_файла.jar"
- можно собрать fatjar. Тут зависимости при сборке вашего jar помещаются внутрь вашего jar. Запуск такой "java -jar имя_файла.jar"
Проблема зависимостей связана с тем что они тащят всю библиотеку за собой.
С приходом java9 и новее пришли модули которые по сути "должны" заменить старую систему зависимостей и проблему таскания ненужного кода в библиотеках.
Теперь так, но учтите что тут есть подводные камни т.к. работает и старая и новая система и могут даже пересекаться между собой. Для примера вы можете собрать свой jar как модуль или по старинке "тупой jar"
- если программа не берет никакие модули то можно по старинке "java -jar имя_файла.jar"
- если программа сама собранна как модуль "java --module-path "путь\до\директории\с\модулем\проги" --add-modules имя.модуля.вашей.проги -m имя.модуля.вашей.проги/имя.главного.класса"
- если есть другие зависимые модули то все в точности как в предыдущем пункте
- так же могут быть собраны fatjar как в java8
Вам для запуска надо так "java --module-path "на последнем скрине путь ваш есть" --add-modules javafx.controls,javafx.fxml -jar имя_файла.jar -m имя.модуля.вашей.проги/имя.главного.класса".
Это очень поверхностно и крайне кратко все. В целом система модулей предполагает что вы больше не должны отправлять вашу программу в виде jar, а должны собрать самодостаточную программу. Т.е. в компиляторах есть утилиты что бы упаковать вашу программу вместе со всеми необходимыми модулями и jre, пользователь же просто запускает ее не устанавливая jre\javafx\кучи библиотек.