如何手动打包jar文件

2022-12-10  本文已影响0人  刘月林Yuelin_MELB

确保文件在一个包下


实例, 在同一个包src下有下面两个类 Test1 和 Test2

//Test1.java: A simple code to test jar operation.
public class Test1{
    private int i;

    public Test1(int i){
        this.i = i;
    }

    public void f(){
        System.out.printf("Test_jar: i is %d !\n",this.i);
    }

    public static void main(String[] args) {
        Test1 myTest = new Test1(1);
        Test2 myTest2 = new Test2(2);
        myTest.f();
        myTest2.f();
    }
}
//Test2.java: A simple code to test jar operation.
public class Test2{
    private int i;

    public Test2(int i){
        this.i = i;
    }

    public void f(){
        System.out.printf("Test2: i is %d !\n",this.i);
    }
}

为了保持代码的整洁,直接使用 javac *.java -d bin, -d 参数指定生成的 class文件的位置

.jar文件生成

准备一个 mainfest.txt 文件,需要以下内容:

Main-Class: Test1

否则!接下来运行 .jar 文件的时候很容易出现这样的报错: Can't execute jar- file: "no main manifest attribute"

然后执行命令行:
jar -cvmf mainfest.txt Test.jar *.class

切记 m f 指令顺序需和后面清单文件名和归档文件名的顺序保持一致

对于参数不清晰的可以使用jar --help查看帮助文档

Operation & Modifiers Meaning
-c Create the archive
-v Generate verbose output on standard output
-m Include the mainfest information from the given mainfest file
-f The archive file name. When omitted, either stdin or stdout is used based on the operation

最后运行.jar文件: java -jar Test.jar

参考资料


诗与远方-如何把java文件打包为jar文件

上一篇 下一篇

猜你喜欢

热点阅读