IntelliJ JavaFX 12 Artifact:没有主清单属性,但是存在吗?

时间:2019-04-19 15:48:33

标签: java intellij-idea javafx artifact

这里有点困惑。环顾四周,什么也没找到。许多人似乎也有类似的问题,但我还没有找到解决方案。

我从here克隆了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 :(得分:0)

在Jose的答案here的帮助下修复了该问题。

我必须从javaFX的bin文件夹中添加本地库。

我必须采取额外的步骤,因为使用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文件夹移至资源文件夹,以便在构建时将其放置在正确的位置。