[Java] 可运行 jar 记录

Posted TonyYPZhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Java] 可运行 jar 记录相关的知识,希望对你有一定的参考价值。

在 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

 

以上是关于[Java] 可运行 jar 记录的主要内容,如果未能解决你的问题,请参考以下文章

IEDA生成可运行jar包(包含第三方jar包)的方法

如何运行和编译jar

Java:如何在可运行的 Jar 文件中打包和访问资源?

SpringBoot 部署 Jar 文件,瘦身优化指南 !

触发Java JAR以使用C ++运行并传递String

java代码如何生成可运行的程序 例如c一样,编译后有exe java是否一定要jdk??