【问题标题】:IntelliJ JavaFX 12 Artifact: no main manifest attribute, but it is there?IntelliJ JavaFX 12 Artifact:没有主要的清单属性,但它存在吗?
【发布时间】:2019-04-19 15:48:33
【问题描述】:

这里有点困惑。环顾四周,没有发现任何东西。很多人似乎有类似的问题,但我还没有看到解决方案。

我从 here 克隆了 IntelliJ gradle non-moduler hellofx 示例应用程序。

构建和运行正常,很好。

然后我尝试构建一个工件。我做了Add -> JAR -> from modules with dependencies...

导致:

构建工件并尝试运行它会给我以下错误:

"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属性在构建工件时生成的manifest文件中:

【问题讨论】:

标签: java intellij-idea javafx artifact


【解决方案1】:

在 Jose 的回答 here 的帮助下修复了它。

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

我不得不采取额外的步骤,因为使用 gradle 构建并没有将 fxml 和类文件放在构建中。所以我不得不将它添加到我的 build.gradle 中:

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

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

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

此外,我必须将 META-INF 文件夹移动到资源文件夹中,以便在构建时将其放置在正确的位置。

【讨论】:

    猜你喜欢
    • 2015-03-14
    • 2019-05-18
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 2016-10-13
    • 2019-07-19
    • 2015-12-10
    • 1970-01-01
    相关资源
    最近更新 更多