Первоначально я задал еще один вопрос, касающийся конкретной проблемы 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 есть серьезные ошибки, о которых как-то не сообщалось.