Невозможно создать исполняемый файл из проекта с NetBeans, если он использует JavaFX - PullRequest
0 голосов
/ 01 апреля 2020

Первоначально я задал еще один вопрос, касающийся конкретной проблемы c невозможности создания файла .exe, но после попытки трех разных методов, которые дали мне три разные ошибки, я пришел к выводу, что проблема имеет отношение к использованию JavaFX.

Короче говоря, я написал небольшую программу на Apache NetBeans 11.3, которая использует JavaFX для GUI. У него есть класс с именем Main, который расширяет Application, и другой класс с именем Launcher, который этого не делает, и целью которого является вызов Main.main(args).

. Я тщетно пытался создать исполняемый файл своего рода для этой программы, используя NetBeans.

В свойствах проекта Packaging я поставил галочку Compress JAR File, Build JAR after Compiling и Copy Dependent Libraries. Под Deployment я поставил галочку Enable Native Packaging Actions in Project Menu и Keep JavaFX artifacts on Compile Classpath if not present by default. Это те же настройки, которые я обнаружил в каждом учебном пособии, хотя я обнаружил, что учебные пособия были для версии 8 или более ранней версии NetBeans.

Когда я пытаюсь использовать стандартную опцию «Очистить и собрать», при попытке запустить .jar из командной строки возвращает следующую ошибку:

Graphics Device initialization failed for : d3d, sw Error initializing QuantumRenderer: no suitable pipeline found

Наряду с кучей других строк, я могу скопировать / вставить здесь, если это будет сочтено необходимым. Я попробовал решения, которые нашел в Интернете, но ни одно из них не сработало.

Я попытался создать проект Maven, но возвращается ошибка no main manifest attribute. Исправление этой ошибки путем добавления расположения класса Launcher в файл MANIFEST.MF (Main-Class: orionindustries.passwordalgorithm.Launcher) приводит к другой ошибке: Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Application.

Я установил Inno Setup, чтобы попытаться создать exe файла, но я получаю еще одну ошибку: typedef class com.sun.javafx.tools.ant.FXJar cannot be found using the classloader AntClassLoader[].

Я попытался включить параметр Switch Project to JavaFX Deployment Model в Deployment в свойствах проекта, но он говорит, что JDK не поддерживает JavaFX и не позволяет мне выбирать JDK, когда я пытаюсь ее решить.

Я понятия не имею, что еще делать. В предыдущем (теперь удаленном) вопросе кто-то упомянул, что JDK 14 придет с пакетом, но это не реальное решение моей проблемы, это просто использование другого инструмента для чего-то, что NetBeans должен уметь (и даже тогда нет гарантии, что это сработает). Либо я сильно облажался, либо в NetBeans есть серьезные ошибки, о которых как-то не сообщалось.

...