Я создал артефакт javaFX, используя IntelliJ. Моя первая проблема была в поле «Класс приложения», где он не определял мой основной класс автоматически или даже не предлагал какие-либо классы в качестве основного класса при поиске в окне поиска. Я увидел, что это была ошибка с IntelliJ, где-то в StackOverflow, и я просто вручную ввел свой packageName.Main в поле класса приложения.
У меня есть две зависимости, которые я извлек в это выходной корень. Вывод сборки артефакта выглядит следующим образом: this.
Затем после перестройки проекта JAR запускается на моем ПК на 100%, даже если я переместилJAR в другой каталог, он работает на 100%.
Итак, я скопировал этот JAR (Swansong.jar) на мой другой компьютер, и когда я дважды щелкнул по нему, ничего не произошло. Когда я запустил его в cmd: java -jar Swansong.jar
, я получил эту ошибку:
Error: Could not find or load main class swansong.Main
Caused by: java.lang.ClassNotFoundException: swansong.Main
Я читаю о файлах манифеста, но не могу найти файл манифеста нигде в своем проекте, но если я извлекаю JARФайл сгенерированного файла манифеста выглядит как this . Может кто-нибудь помочь мне, почему JAR работает на одном компьютере, а не на другом? И как я могу это исправить?
ОБНОВЛЕНИЕ: Это - это содержимое моего jar-файла, а this - это содержимое каталога swansong внутри jar-файла.
ОБНОВЛЕНИЕ 2: Я чувствую себя глупо. Мой основной компьютер работает с jdk8, а другой - с jdk11. И JavaFX не входит в jdk11. Так что я думаю, что это проблема, но пока не уверен на 100%. Проверим и посмотрим. Есть ли обходные пути для этого?