Intellij IDEA为java fx工件生成html和jnlp

时间:2015-05-08 18:36:29

标签: intellij-idea javafx

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

1 个答案:

答案 0 :(得分:2)

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

  

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

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

  1. 如果您的应用程序嵌入在浏览器中(例如,通过Java插件执行,如传统的Java小程序),那么您需要所有.html.jnlp.jar文件。
  2. 如果您的应用是使用Java deployment toolkit通过Webstart从浏览器启动的,那么您需要所有.html.jnlp.jar文件。
  3. 如果您的应用程序是通过Webstart从网页通过直接href链接启动到jnlp文件,那么您只需要.jnlp.jar文件。
  4. 如果您的应用程序是作为"独立程序分发的,那么#34; (例如"用户使用Java启动器启动它,例如java -jar MyApp.jar,或者双击应用程序JAR文件。"),然后您只需要.jar文件。
  5. 如果您的申请是作为一个独立的"然后,您不需要.jnlp.html.jar个文件,因为运行应用程序所需的所有内容都将打包到本机安装包中(例如.rpm,{您将分发的{1}},.msi.deb
  6. 建议的方法

    因为您将使用"独立程序"分发形式,您只需要.dmg文件进行分发,并且可以忽略Java打包工具创建的其他文件。

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

    相反,只需使用已设置的Idea工件包装配置即可。忽略Build | Build Artifacts | Edit... | + | JAR | From modules with dependencies...个文件和.html个文件输出。只需将.jnlp文件分发给用户,并附上如何通过.jar启动它或在其计算机上安装Java运行时后双击java -jar MyApp.jar的说明。

    便携式构建建议

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

    如果您的项目可能由其他开发人员处理,或者构建将在Jenkins等持续集成系统中生成和测试,我建议不要依赖IDE特定的构建系统,例如Idea中的工件包装程序。相反,使用外部构建工具,如maven或gradle。 JavaFX构建有maven plugingradle plugin