这两个工具是现代 Java 桌面应用打包的黄金组合, jlink 用来生成最小化的 JRE, jpackage 则把它和你的程序打包成安装包。 1. jlink:生成精简版 JRE jlink 是 JDK 自带的工具,可以根据你的应用依赖,只打包必需的模块,生成一个体积更小的自定义 JRE。 基本语法 bash jlink [选项] –module-path <模块路径> –add-modules <要包含的模块> –output <输出目录> 核心参数 – –module-path :指定模块的查找路径,通常指向 JDK 的 jmods 目录。 – –add-modules :指定要包含的模块,多个模块用逗号分隔。 – –output :指定生成的精简 JRE 的输出目录。 – –strip-debug :移除调试信息,进一步减小体积。 – –no-man-pages :不包含手册页。 – –no-header-files :不包含头文件。 示例:生成 JRE 21.0.9 精简版 bash jlink –module-path "C:\\Program Files\\Java\\jdk-21.0.9\\jmods" –add-modules java.base,java.desktop –output ./jre-mini –strip-debug –no-man-pages –no-header-files 这个命令会生成一个只包含 java.base 和 java.desktop 模块的 JRE,体积通常只有完整 JRE 的一半左右。 2. jpackage:打包成安装包 jpackage 是 JDK 16+ 引入的官方打包工具,可以把你的 JAR 包和 jlink 生成的 JRE 一起打包成平台原生的安装程序(如 Windows .exe 、Mac .dmg 、Linux .deb )。 基本语法 bash jpackage [选项] 核心参数 – –input :存放 JAR 包的目录。 – –main-jar :你的主程序 JAR 文件名。 – –name :生成的应用名称(会作为安装包和启动器的名称)。 – –runtime-image :指定 jlink 生成的精简 JRE 路径。 – –output :安装包的输出目录。 – –main-class :主程序的入口类(如果 JAR 包的 MANIFEST.MF 里没指定)。 – –icon :指定应用的图标文件(Windows .ico 、Mac .icns )。 – –install-dir :指定程序安装后的默认目录。 示例:打包 Windows 安装程序 假设你的应用 JAR 是 my-app.jar ,精简 JRE 在 ./jre-mini ,执行: bash jpackage –input ./app-jar –main-jar my-app.jar –name MyApp –runtime-image ./jre-mini –output ./installer –icon ./app-icon.ico 执行后会在 ./installer 目录生成 MyApp-1.0.exe 安装程序,用户安装后直接运行 MyApp.exe 即可,无需额外安装 Java。 3. 完整工作流(jlink → jpackage) 1. 生成精简 JRE bash jlink –module-path "C:\\Program Files\\Java\\jdk-21.0.9\\jmods" –add-modules java.base,java.desktop –output ./jre-mini 2. 打包成安装包 bash jpackage –input ./target –main-jar my-app-1.0.jar –name MyApp –runtime-image ./jre-mini –output ./dist
jlink & jpackage 详细用法
未经允许不得转载:171主机测评 » jlink & jpackage 详细用法
相关推荐
MCP 让 Agent 调用工具,但谁负责持续协调?Harmovela 的协议定位
Agent 记忆不是向量数据库里的一堆文本:MNEMOVELA 的认知运行时模型
MCP 让 Agent 调用工具,但谁负责持续协调?Harmovela 的协议定位
写一次 Skill,能否同时给 Codex、Cursor、Copilot 使用?Agent Plugins 1.0 来了
2026年8月AI Coding行业全景:5大趋势洞察 + 5个值得关注的新动态
Codex 要付费,OpenCode 不要:192K ★、周下载 200 万的免费 AI 编程 Agent 全指南
【AI智能体】腾讯WorkBuddy介绍(一)
【AI入门】大模型介绍全解析:从模型、LLM 到提示词与嵌入


