为什么当我使用Intellij IDEA为javafx应用程序生成工件时,除了.jar之外,它还会生成.html和.jnlp文件?,这两个是应用程序工作所必需的,如果没有的话我可以改变一个设置,以便不再创建它们了吗?
答案 0 :(得分:2)
各种JavaFX执行模式所需的文件
它会生成.html和.jnlp文件吗?是应用程序工作所必需的两个
部署所需的文件取决于应用程序的execution mode。
.html
,.jnlp
和.jar
文件。 .html
,.jnlp
和.jar
文件。 .jnlp
和.jar
文件。java -jar MyApp.jar
,或者双击应用程序JAR文件。"),然后您只需要.jar
文件。 .jnlp
,.html
或.jar
个文件,因为运行应用程序所需的所有内容都将打包到本机安装包中(例如.rpm
,{您将分发的{1}},.msi
,.deb
。建议的方法
因为您将使用"独立程序"分发形式,您只需要.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 plugin和gradle plugin。