1 Star 30 Fork 5

lichenfei/javafx-package-example

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

javafx-package-example

介绍

  1. JavaFx 项目打包案例
  2. 三种打包案例:三个项目(三个案例)。
  3. 介绍:
    • 一:模块化打包,所需依赖必须是模块化项目,项目也必须支持模块化 当然模块化项目坑比较多,不建议使用模块化项目。
    • 二:非模块打包,支持1.8及以上,配置maven插件即可完成打包 推荐使用
    • 三:非模块化打包(jpackage命令,低版本不支持这个命令,我用的是17),运行main方法即可完成打包 本人目前使用的
  4. 在打包过程中可能会出现各种问题,不要急,慢慢来。
  5. 资金有限,只测试过Windows系统。

一、模块化项目打包(module-package项目)

  1. 注意:如果存在非模块化依赖,则打包不成功,需要对依赖进行处理(比较麻烦),尽量使用模块化依赖。
  2. 配置maven插件:请查看module-package项目。
  3. 执行命令打包:mvn javafx:jlink
  4. 运行成功后进入到打包的bin目录运行application.start.bat即可成功启动项目。
  5. application.start.bat转换为exe文件(转换工具我放在项目/document/里边了)。
下载地址:https://crm-1254254286.cos.ap-guangzhou.myqcloud.com/1/Bat_To_Exe_Converter_(Installer).exe
  1. 生成的exe文件应在bin目录下(和application.start.bat在同级目录),否则生成的exe可能会启动失败!

二、非模块化项目打包(java-package项目)

  1. 文档请参考: https://github.com/fvarrui/JavaPackager
  2. 配置maven插件:请查看java-package项目。
  3. 执行命令打包: mvn clean package
  4. target 文件夹下会生成一个java-package文件夹,运行里边的exe即可。

三、非模块化项目打包(jpackage项目)

  1. 下载WIX工具:https://wixtoolset.org 网络原因可能下载比较慢,可以直接在本项目中的/document/文件夹下获取。
  2. 安装WIX工具。
  3. 执行maven命令:mvn package
  4. 使用jpackage命令打包,或者直接运行我写的工具类cn.lichenfei.jpackage.JPackage
  5. 命令:

#非模块化打包方式:
jpackage --type app-image -i lib -n 音乐播放器 --main-class [启动类包名] --main-jar [启动类所属jar名称] --icon [图标地址]

#对于模块化
jpackage --type app-image -n name -p modulePath -m moduleName/className

#命令说明:

#打包类型:"app-image", "exe", "msi", "rpm", "deb", "pkg", "dmg"}
--type -t
#打包文件名称
--name , -n
#包含全部jar文件的目录
--input , -i
#启动应用的jar名称
--main-jar
#入口类名称
--main-class
#应用版本
--app-version
#应用版权信息
--copyright
#应用描述信息
--description
#应用提供者
--vendor
#应用图标
--icon

  1. 问题:
    1. 程序运行错误。
      • 登录页面1
      • 可能是因为使用jlink制作jre时出现问题: 放弃jlink,直接使用jpackage了。
      • 目前没有好的解决方案。。。欢迎大家一起讨论!!!!!!!!!!!!!!!!!
    2. 在win11环境下运行jpackage,发现生成的app文件夹下没有jar包,只有一个 .cfg 文件,这时候只需要将项目的所有依赖jar和项目jar放到app文件下后,即可运行程序。(具体什么原因没找到)另外,启动程序的.exe图标也需要自己替换。

空文件

简介

javafx 项目打包案例 展开 收起
Java 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/lichenfei_fei/javafx-package-example.git
git@gitee.com:lichenfei_fei/javafx-package-example.git
lichenfei_fei
javafx-package-example
javafx-package-example
master

搜索帮助

371d5123 14472233 46e8bd33 14472233