IntelliJ JavaFX 12 Артефакт: нет основного атрибута манифеста, но есть ли он? - PullRequest
0 голосов
/ 19 апреля 2019

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

Я клонировал пример приложения IntelliJ gradle немодулятор hellofx из здесь .

Строит и работает нормально, хорошо.

Затем я попытался создать артефакт. Я сделал Add -> JAR -> from modules with dependencies...

В результате:

enter image description here

Сборка артефакта и попытка его запустить дает мне следующую ошибку:

"C:\Program Files\Java\jdk-11.0.2\bin\java.exe" -Dfile.encoding=windows-1252 -jar E:\hellofx\out\artifacts\hellofx_main_jar\hellofx_main.jar no main manifest attribute, in E:\hellofx\out\artifacts\hellofx_main_jar\hellofx_main.jar

Но атрибут Main-Class равен в файле манифеста, который был сгенерирован при создании артефакта:

enter image description here

1 Ответ

0 голосов
/ 19 апреля 2019

Исправлено с помощью ответа Хосе здесь .

Мне пришлось добавить родные библиотеки из папки bin из javaFX.

Мне пришлось предпринять дополнительные шагипотому что при сборке с помощью gradle в сборку не помещались файлы fxml и class.Поэтому мне пришлось добавить это в свой build.gradle:

plugins {
  //...
  id 'idea'
}

sourceSets.main.output.resourcesDir = "build/classes/java/main"

idea {
    module.outputDir file("out/production/classes")
}

Кроме того, мне пришлось переместить папку META-INF в папку ресурсов, чтобы при сборке она находилась в правильном месте.

...