• JavaFX应用程序打包


    Java开发过程中存在一个难题:分发自己的程序,需要客户电脑中已安装jre环境。如果用户在系统中没有要求的Java版本,则必须安装它。JavaFX提供新的部署选项称为自包含应用程序包(A self-contained application)。

    A self-contained application is a wrapper for your JavaFX application, making it independent of what the user might have installed.

    一个自包含应用包是一个包含Java应用和它的依赖的包,它使得应用可独立于用户可能安装的内容。

    本文主要介绍如何使用IDEA打包,以及在打包过程中遇到的各种坑。我们可以直接将 java 程序打包成安装包,具体来说:

    l  Windows:exe,msi

    l  Mac:dmg,pkg

    l  Linux:deb,rpm

    一、使用IDEA Artifact打包exe

    1、添加Artifacts

    “File Structure”—“Artifacts”,点击“+”添加“JavaFx application”—“From Module XXX”。

    2、添加依赖

       将右边模块及其依赖的底层模块下的jar包添加到左边(Put Into Output Root)

       将右边依赖的底层模块打包到右边(Pack Into /xxx.jar)。

    3、配置JavaFX打包信息

             Application class中添加项目的启动类,将Native bundle设为all或image。

        其他信息可不填:

        Title:应用标题

        Vendor:应用作者

    4、构建Artifacts。

      输出目录:out\artifacts\client\bundles\client

    注意事项

    1、  所有依赖项必须全部添加到左边,否则exe将无法执行。此时需

    2、  JavaFX打包信息中不可以使用中文,否则构建会报错。

    3、  IDEA Artifacts虽然可以打包各个系统的执行程序,但是在一个系统上只能打队友系统的安装包。比如在windows上,就只能打包成exe。

    二、为JavaFX应用创建安装程序

    1、首先需要下载两个工具

    • exe4j,一个将jar转换成exe的工具
    • inno setup,一个将依赖和exe一起打成一个安装程序的工具

    2、maven把Springboot项打包

    可以再IDEA的Terminal中直接输入命令或者用IDEA右侧的Maven工具。

    3、打包成exe

    先把exe4j.rar解压,根据自己系统版本运行安装程序,直接下一步到底,安装后运行。

    设置执行权限和缩放

    使用inno setup创建一个打包脚本。配置到最后一步会弹出问你是否马上编译,选择否,先把脚本写好再自己编译。

    在下图位置加一行代码  #define MyJreName "runtime" 

     在[Files]下加一行代码

     Source: "自己本地JRE路径\*"; DestDir: "{app}\{#MyJreName}"; Flags: ignoreversion recursesubdirs createallsubdirs 

    注意事项

    1、  创建setup时打包的jre路径应该与打包成exe时自定义的jre路径保持一致,比如上图中的“runtime”。否则,安装后的exe程序会报错。

    2、  在JVM启动参数上加上 -Dfile.encoding=UTF-8,强行设置系统文件编码格式为utf-8。

    测试运行

    使用VMware虚拟机

    参考资料

    记录一次Springboot项目打包成exe 

    其他打包参考如下资料:

    第七部分:部署   你如何使用Eclipse和e(fx)clipse插件创建本地包

    IDEA打包

    记录一次Springboot项目打包成exe 

    将idea中的JavaFX项目打包成可执行的exe应用

  • 相关阅读:
    MySQL和hive对比表结构脚本
    服务器端口3次不通报警
    CentOS 7 安装以及配置桌面环境
    MySQL修改参数不重启生效
    linux mysql 5.7.17 编译安装小记
    react脚手架应用以及iview安装
    weex具体安装教程
    npm教程2——脚手架原理及jQuery和bootstrap引入
    npm具体安装教程
    JAVA学习总结(六)
  • 原文地址:https://www.cnblogs.com/cheng2015/p/16130181.html
Copyright © 2020-2023  润新知