Я разрабатываю приложение JavaFX с использованием Spring Boot и сборки gradle. Когда я запускаю сгенерированный исполняемый файл jar, он запускается успешно, но когда я генерирую exe-файл с помощью launch4j и запускаю его, я получаю следующую ошибку в консоли во время выполнения, когда приложение пытается отобразить предупреждение (тип заголовка в launch4j был настроен на консоль, поэтому я могу видеть исключения):
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException .........
Caused by: java.lang.ClassNotFoundException: javafx.scene.control.Alert$AlertType
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:92)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 59 more
Когда я меняю расширение exe-файла на .jar, все в порядке!
Я разработал такое приложение впервые используя Spring Boot, другие мои приложения работают отлично, когда я запускаю их как exe-файл.
Есть идеи?