1 Star 31 Fork 5

lichenfei/javafx-package-example

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
3年前
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 项目打包案例 展开 收起
取消

发行版

暂无发行版

贡献者 (1)

全部

语言

近期动态

2年多前推送了新的提交到 master 分支,5cf840f...5d9bb3a
2年多前推送了新的提交到 master 分支,5c9010f...5cf840f
3年前推送了新的提交到 master 分支,c684109...5c9010f
3年前推送了新的提交到 master 分支,ec4aaf1...c684109
3年前推送了新的提交到 master 分支,491ab25...ec4aaf1
加载更多
不能加载更多了
马建仓 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

搜索帮助