打包可执行的jar

时间:2022-05-04 09:53:52

#配置项目路径

*除程序文件以外,其他相关素材也可以打包进jar,但在内部访问时需以包名作为跟路径,如hello/xxx/yyy.zzz

mkdir hello
vi hello/HelloWorld.java

#HelloWorld.java代码如下:

package hello;

public class HelloWorld {
    
    public static void main(String[] args) {
        System.out.println("hello, world!");
    }
    
}

#编译HelloWorld.java生成HelloWorld.class

javac hello/HelloWorld.java
#测试HelloWorld
java -cp . hello.HelloWorld

#编写manifest.mf文件

*manifest.mf只能独占使用,如果打包另外一个jar,请新建manifest文件,如manifest-new.mf

Manifest-Version: 1.0 
Created-By: 1.0 (Jar-Execution-Package)
Main-Class: hello.HelloWorld
Class-Path: .

#最终文件目录结构如下:

manifest.mf
hello/
----HelloWorld.java
----HelloWorld.class

#打包jar文件

jar cvmf manifest.mf hello.jar hello

#执行jar包

java -jar hello.jar
>hello, world!