首页 > 技术文章 > [Java] 可运行 jar 记录

TonyYPZhang 2016-07-04 00:43 原文

在 Eclipse 上,通过 Export 选择 Java 下的 Runnable JAR file ,可以将项目导出一个可执行的 jar 包。

例子如下

1. Eclipse 项目只有一个文件 main/App.java

package main;
public class App {
    public static void main(String[] args) {
        System.out.println(" - - ");
    }
}

 

2. 对着项目右击,Export -> Runnable JAR file,选项导出路径,点击 finish ,便导出一个 jar 文件。

 

3. 由于 jar 包也是 zip 格式的,所以在 jar 包最后加扩展名 .zip ,即可解压 jar 包。解压后结果如下

grs:zip grs$ tree
.
└── App.jar
    ├── META-INF
    │   └── MANIFEST.MF
    └── main
        └── App.class

3 directories, 2 files
grs:zip grs$ 

main/App.class 是 App.java 代码编译后生成的文件。而 META-INF 以及下面的 MANIFEST.MF 则是创建 jar 包时自动生成的。

META-INF/MANIFEST.MF 是 jar 包中必不可少的文件,常见作用有指明程序入口(Entry Point),引用的路径(class path)

 

4. 打开 MANIFEST.MF 内容如下。自动生成的 MANIFEST.MF 最后两行是空行。

1 Manifest-Version: 1.0
2 Class-Path: .
3 Main-Class: main.App
4 
5 

本例中,程序入口为 main.App, Class-Path 指向当前路径。

 

5. 通过命令运行 jar 包

grs:jarDemo grs$ java -jar App.jar 
 - - 
grs:jarDemo grs$

 

参考资料

Lesson: Packaging Programs in JAR Files, Oracle

 

推荐阅读