jar to dmg app/windows .exe可执行文件打包方法

最近用JFrame做了一个java jar UI界面应用程序, 查资料发现网上大部分的文章都是使用 ant bundle方式打包, 结果测试,这个方式在新版macos中已经失效, 打包后的app根本无法运行.

最新可用的命令行方式打包jar 到可执行app应用的方法如下:

  1. 使用 packr 打包 这个打包的文件相对 jar2app 打包的方式文件要小很多, 而且使用也很方便,下载 jar Release v4.0.0 · tekintian/packr · GitHub 文件后即可直接使用

地址: https://github.com/tekintian/packr

使用方法:

bash 复制代码
java -jar packr-all.jar \
     --platform mac \
     --jdk https://ghproxy.net/https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jre_x64_mac_hotspot_8u302b08.tar.gz \
     --useZgcIfSupportedOs \
     --executable myapp \
     --classpath myjar.jar \
     --mainclass com.my.app.MainClass \
     --vmargs Xmx1G \
     --resources src/main/resources path/to/other/assets \
     --output myapp

命令执行后自动将你的jar 和你指定的java jre的运行环境, 还有资源文件(通过 --resources 指定) 都打包为可执行的 macos app或者 windows .exe app应用程序.

mac下面打包后是直接保存到 --output指定的目录 myapp , 直接将 myapp文件夹改名为 myapp.app 即是可执行mac应用, 打包后最好使用codesign进行签名

  1. jar2app 方式打包jar

这个工具可以将jar包和jre运行时打包到一起,也可以使用系统中的jre运行时.

打包命令:

bash 复制代码
jar2app target/javaspider-1.0.jar -b cn.tekin.java  -u JSPIDER  -e spider -i spider.icns -n JavaSpider -c "(C)2024 Yunnan.ws Inc."

地址: GitHub - Jorl17/jar2app: Convert any Java jar to a Mac OS X .App bundle. No external tools needed, no funky parameters, it just works.

相关推荐
Frostnova丶4 小时前
LeetCode 190.颠倒二进制位
java·算法·leetcode
闻哥4 小时前
Redis事务详解
java·数据库·spring boot·redis·缓存·面试
hrhcode4 小时前
【Netty】五.ByteBuf内存管理深度剖析
java·后端·spring·springboot·netty
道亦无名5 小时前
aiPbMgrSendAck
java·网络·数据库
发现你走远了5 小时前
Windows 下手动安装java JDK 21 并配置环境变量(详细记录)
java·开发语言·windows
心 -5 小时前
java八股文DI
java
黎雁·泠崖6 小时前
Java常用类核心详解(一):Math 类超细讲解
java·开发语言
大尚来也6 小时前
跨平台全局键盘监听实战:基于 JNativeHook 在 Java 中捕获 Linux 键盘事件
java·linux
追随者永远是胜利者6 小时前
(LeetCode-Hot100)15. 三数之和
java·算法·leetcode·职场和发展·go
懒惰成性的6 小时前
12.Java的异常
java·开发语言