如何将IntelliJ IDEA编译的Jar文件转换为macOS可运行.app应用
将JAR文件转换为Mac .app应用程序的方法
方法一:使用官方jpackage工具(推荐)
jpackage是Java 14及以后版本自带的官方工具,专门用于生成平台专属的应用包,包括Mac的.app格式。
步骤:
- 确认JDK版本:在终端输入
java -version,确保版本为14或更高。 - 导航到JAR文件所在目录:打开终端,用
cd命令切换到你的JAR文件存放路径。 - 执行打包命令(替换成你的实际参数):
参数说明:jpackage --type app-image \ --input ./ \ --main-jar your-app.jar \ --main-class com.yourpackage.YourMainClass \ --name YourAppName \ --icon ./path/to/your/icon.icns--type app-image:指定生成.app格式的应用镜像--input:JAR文件所在的目录路径--main-jar:你的主JAR文件名--main-class:包含main方法的全类名--name:生成的.app应用名称--icon:可选参数,指定应用图标(需为Mac支持的.icns格式)
- 执行完成后,当前目录会生成
YourAppName.app文件夹,双击即可运行。
方法二:IntelliJ IDEA配合插件打包
如果习惯用图形界面操作,可以借助IDEA的插件完成:
- 打开IntelliJ,进入
File > Project Structure > Artifacts,确认已生成包含所有依赖的JAR文件(已有则跳过)。 - 安装
Native Packaging插件:在Settings > Plugins中搜索并安装该插件。 - 配置打包:在
Artifacts界面点击+,选择Native Image,按照向导选择目标JAR、主类,设置应用名称和输出目录。 - 构建应用:点击
Build > Build Artifacts,选择对应的Native Image执行构建,完成后即可得到.app文件。
方法三:手动创建.app包(自定义需求)
如果需要完全自定义应用结构,可以手动搭建:
- 创建名为
YourAppName.app的文件夹(后缀必须为.app)。 - 在该文件夹内依次创建
Contents、Contents/MacOS、Contents/Resources三个子文件夹。 - 在
MacOS中创建Shell脚本run.sh,内容如下:
建议把JAR文件放到#!/bin/bash java -jar ../Resources/your-app.jarResources文件夹中,路径对应调整。 - 给脚本添加执行权限:在终端运行
chmod +x /path/to/YourAppName.app/Contents/MacOS/run.sh。 - 可选:在
Resources中添加Info.plist文件定义应用元数据,示例内容:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleExecutable</key> <string>run.sh</string> <key>CFBundleName</key> <string>YourAppName</string> <key>CFBundleIconFile</key> <string>YourIcon.icns</string> <key>CFBundleIdentifier</key> <string>com.yourcompany.yourapp</string> </dict> </plist> - 完成后,
YourAppName.app即可双击运行。
注意事项
- 若应用依赖其他资源文件,需将资源放入
Resources文件夹,并确保代码中的路径引用正确。 - 如需分发应用避免Gatekeeper拦截,可使用
codesign命令签名:codesign -s "你的开发者ID" YourAppName.app。
内容的提问来源于stack exchange,提问作者Дмитро Городовенко
相关产品推荐
相关产品推荐

