- 可执行的 JAR 文件:这是最常见的方式,将你的所有代码和依赖打包成一个
.jar文件,用户双击或在命令行运行即可。 - 可安装的程序:Windows 的
.exe安装包,Mac 的.app包,或者跨平台的安装包(如使用 Inno Setup 或 Install4j),这通常是在 JAR 的基础上进行封装。
下面我们分步讲解,重点放在最核心的 可执行 JAR 上。

核心概念:main 方法
要让一个 Java 程序能够独立运行,它必须有一个“入口点”,这个入口点就是一个被 public static void main(String[] args) 修饰的方法。
示例:
创建一个简单的 HelloWorld.java 文件,确保它包含 main 方法。
// src/com/example/HelloWorld.java
package com.example;
public class HelloWorld {
public static void main(String[] args) {
// 检查是否有命令行参数
if (args.length > 0) {
System.out.println("Hello, " + args[0] + "!");
} else {
System.out.println("Hello, World!");
}
}
}
第一步:在 Eclipse 中配置项目
在打包之前,你需要告诉 Eclipse 哪个类是你的程序入口。
- 打开项目:在 Eclipse 的 Project Explorer 中打开你的 Java 项目。
- 设置入口点:
- 右键点击你的项目(而不是某个文件)。
- 选择
Run As->Run Configurations...。 - 在左侧的 "Java Application" 类别下,你应该能看到你刚才运行过的配置,如果没有,可以点击左上角的 "New launch configuration" (像一个图标) 创建一个新的。
- 在右侧的 "Main" 选项卡中:
- Project: 确保是你的项目名称。
- Main class: 点击 "Browse...",然后选择包含
main方法的那个类(com.example.HelloWorld)。
- 你可以在这里配置命令行参数(Arguments -> Program arguments),例如输入
Alice。 - 点击 "Apply" 和 "Run" 测试一下,确保程序能正常运行。
第二步:将项目打包成可执行的 JAR 文件
这是最关键的一步,Eclipse 提供了两种主要方式:简单的 JAR 和更灵活的 Runnable JAR。

简单的 JAR (不推荐用于有依赖的项目)
这种方式只是简单地把 .class 文件打包,不包含外部依赖库(如 .jar 文件),如果你的项目只用了 JDK 自带的库,这种方式可行。
- 右键点击你的项目。
- 选择
Export...。 - 在弹出的窗口中,展开
Java文件夹,选择JAR file,然后点击 "Next"。 - Export destination: 选择你要保存 JAR 文件的位置和文件名(
C:\MyApp\my-app.jar)。 - Export options:
- 勾选
Export generated class files and resources。 - 勾选
Export all output folders for source folders(这是一个好习惯)。
- 勾选
- 点击 "Finish"。
缺点:如果你的项目引用了第三方库(commons-lang3.jar),这个 JAR 文件是无法直接运行的,因为它找不到这些依赖库。
可运行的 JAR (推荐,包含依赖)
这是最常用且最推荐的方法,它会将你的代码和所有依赖的库都打包到一个 JAR 文件中。
- 右键点击你的项目。
- 选择
Export...。 - 在弹出的窗口中,展开
Java文件夹,选择Runnable JAR file,然后点击 "Next"。 - Launch configuration: 从下拉菜单中选择你在第一步中创建的 "Run Configuration"。
- Export destination: 选择你要保存的 JAR 文件位置和名称。
- Library handling: 这是最重要的选项!
- Package required libraries into generated JAR: (推荐) 将所有依赖库都打包到最终的 JAR 文件中,生成一个单独的、可执行的胖包,这是最简单、最干净的方式。
- Extract required libraries into generated JAR folder: 将依赖库和 JAR 文件放在同一个文件夹下,这种方式在某些情况下(比如需要动态加载库)有用,但不如第一种方便。
- Copy required libraries into a sub-folder next to the generated JAR: 将依赖库复制到一个
lib子文件夹中,这种方式比较老,不推荐。
- 点击 "Finish"。
你就有了一个可运行的 JAR 文件!

第三步:运行和分发你的可执行 JAR
如何运行?
命令行运行 打开命令行(Windows 的 CMD 或 PowerShell,Mac/Linux 的 Terminal),进入 JAR 文件所在的目录,然后执行:
java -jar my-app.jar
如果你之前配置了参数,可以这样传:
java -jar my-app.jar Alice
双击运行
在某些系统上(特别是 Windows),双击 JAR 文件可能会用 Java 自动运行它,但这并不可靠,因为系统可能没有正确关联 .jar 文件到 javaw.exe。强烈建议用户使用命令行运行。
如何分发?
你只需要将生成的 单个 .jar 文件 发送给用户,告诉他们:
- 确保他们的电脑上安装了 Java 运行环境。
- 使用命令行
java -jar 你的文件名.jar来运行程序。
第四步(可选):创建安装程序(.exe)
如果你希望你的程序像专业软件一样,有一个漂亮的安装向导,并能创建桌面快捷方式等,你需要将 JAR 文件封装成一个安装包。
常用工具:
-
Launch4j (免费): 一个专门用于将 Java 程序打包成 Windows
.exe文件的工具,它还可以配置图标、JVM 版本、是否显示控制台窗口等。- 工作流程:先用 Launch4j 配置你的 JAR 文件,它会生成一个
.exe启动器,这个启动器会自动查找并调用系统中的 Java 来运行你的 JAR。
- 工作流程:先用 Launch4j 配置你的 JAR 文件,它会生成一个
-
jpackage (JDK 自带): 从 JDK 14 开始引入的官方工具,可以直接将 Java 应用打包成平台特定的安装包(如
.msi,.deb,.rpm,.dmg等)。- 工作流程:在命令行中使用
jpackage命令,指定 JAR 文件、应用名称、图标等参数,它会自动完成打包。
- 工作流程:在命令行中使用
-
商业工具 (如 Install4j, Advanced Installer): 功能更强大,界面更友好,提供更多定制选项,但需要付费。
简单示例 (使用 Launch4j):
- 下载并安装 Launch4j。
- 打开 Launch4j,在 "Basic" 选项卡中:
Output file:my-app.exeJar: 选择你之前生成的my-app.jarHeader type: 选择gui(不显示黑色控制台窗口) 或console(显示)。
- 其他选项卡可以配置图标、JVM 参数等。
- 点击 "Build wrapper" 按钮,就会生成
my-app.exe文件。 - 将这个
exe文件和my-app.jar一起发给用户,用户双击exe即可运行。
总结与最佳实践
| 步骤 | 目的 | 推荐方法 | 优点 | 缺点 |
|---|---|---|---|---|
| 配置入口 | 告诉 Eclipse 哪个类是主程序 | 在 Run Configurations 中设置 Main class |
标准化,方便测试 | - |
| 打包 JAR | 生成可分发的文件 | Export -> Runnable JAR -> Package required libraries... |
简单、独立、一个文件搞定所有依赖 | JAR 文件可能较大 |
| 运行 JAR | 测试分发的文件 | java -jar my-app.jar |
跨平台,无需额外安装 | 需要用户有 Java 环境 |
| 创建安装包 | 提供更专业的用户体验 | 使用 Launch4j (免费) 或 jpackage (JDK自带) | 可生成 .exe,支持图标、快捷方式 |
增加了打包的复杂性 |
对于大多数开发者来说,掌握如何使用 Eclipse 的 Runnable JAR 功能是核心技能,当你需要更专业的分发时,再考虑使用 Launch4j 或 jpackage 这样的工具。
