【问题标题】:Intellij IDEA generating html y jnlp for java fx artifactIntellij IDEA 为 java fx 工件生成 html y jnlp
【发布时间】:2015-05-09 04:10:14
【问题描述】:

为什么当我使用 Intellij IDEA 为 javafx 应用程序生成工件时,除了 .jar 之外,它还会生成一个 .html 和一个 .jnlp 文件?如果没有,这两个是应用程序工作所必需的吗?我可以更改设置以不再创建这些设置?

【问题讨论】:

  • 部署所需的文件取决于您的应用程序的execution mode。你的应用程序的执行模式是什么?
  • @jewelsea 它应该是“作为独立程序运行”,在 Artifacts 部分我创建了一个新的->“JavaFx 应用程序”->“来自模块 xxxx”,我应该选择新的 - >改为“JAR”?
  • 我不同意这是重复的 Jarrod,Moises 已经知道(并且正在)使用 IntelliJ 制作 JavaFX 工件,他只是想知道 IntelliJ 打包系统输出的文件有什么用途。

标签: intellij-idea javafx


【解决方案1】:

各种 JavaFX 执行模式所需的文件

它会生成一个 .html 和一个 .jnlp 文件吗?这两个是应用程序工作所必需的

部署所需的文件取决于您的应用程序的execution mode

  1. 如果您的应用程序嵌入在浏览器中(例如,像传统 Java 小程序一样通过 Java 插件执行),那么您需要所有 .html.jnlp.jar 文件。
  2. 如果您的应用程序是通过 Webstart 使用 Java deployment toolkit 从浏览器启动的,那么您需要所有 .html.jnlp.jar 文件。
  3. 如果您的应用程序是通过 Webstart 从网页通过指向 jnlp 文件的直接 href 链接启动的,那么您只需要 .jnlp.jar 文件。
  4. 如果您的应用程序作为“独立程序”分发(例如“用户使用 Java 启动器启动它,例如 java -jar MyApp.jar,或通过双击应用程序 JAR 文件。”),那么您只需要 @ 987654334@ 文件。
  5. 如果您的应用程序是作为“自包含”应用程序分发的,那么您不需要.jnlp.html.jar 文件,因为运行您的应用程序所需的所有内容都将打包到本机安装包中(例如.rpm.msi.deb.dmg)您将分发。

建议的方法

由于您将使用“独立程序”形式的分发,您只需要 .jar 文件进行分发,可以忽略 Java 打包工具创建的其他文件。

虽然您可以通过选择 Build | Build Artifacts | Edit... | + | JAR | From modules with dependencies... 让 Idea 将您的应用程序打包为 JAR,但我不建议您这样做,因为您还需要在清单中设置一个主类,并且会丢失一些文件的功能使用 Idea 的“JavaFX 应用程序”打包类型进行打包,例如内置检测用于启动应用程序的 Java 运行时满足运行 JavaFX 应用程序的最低要求和透明网络代理支持。

因此,只需使用您已经设置的 Idea 工件打包配置,保持不变。忽略.html 文件和.jnlp 文件输出。只需将.jar 文件连同有关如何通过java -jar MyApp.jar 或在他们的机器上安装Java 运行时双击.jar 启动它的说明一起分发给您的用户。

便携式构建建议

如果只有您开发项目并且您不熟悉 maven 或 gradle 等外部构建工具,那么使用 Idea IDE 中内置的工件打包功能(可能)比学习和使用外部构建工具更简单工具。

如果您的项目可能由其他开发人员进行工作,或者要在 Jenkins 等持续集成系统中生成和测试构建,我不建议依赖 IDE 特定的构建系统,例如 Idea 中的工件打包器。相反,请使用外部构建工具,例如 maven 或 gradle。有一个 maven plugin 和一个 gradle plugin 用于 JavaFX 构建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 2015-05-31
    • 2012-05-15
    • 2021-03-24
    • 1970-01-01
    相关资源
    最近更新 更多