手动编译打包运行java工程

|---Manifest.mf
|---test
|     |-- com
|      |    |---A.java
|      |-- cn
|           |---B.java

com.A

package com;

import cn.B;

public class A {
    public static void main(String[] args) {
        B b = new B();
        b.bbb();
    }
}

cn.B

package cn;

public class B {
    public void bbb(){
        System.out.println("this is B!!!");
    }
}

myManifest.mf

Manifest-Version: 1.0
Class-Path: .
Main-Class: com.A

编译

F:\test
λ javac com/A.java cn/B.java

打包

F:\
λ jar cvfm test.jar test/myMANIFEST.MF -C test/ .
已添加清单
正在添加: cn/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: cn/B.class(输入 = 385) (输出 = 276)(压缩了 28%)
正在添加: cn/B.java(输入 = 100) (输出 = 91)(压缩了 9%)
正在添加: com/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/A.class(输入 = 302) (输出 = 235)(压缩了 22%)
正在添加: com/A.java(输入 = 128) (输出 = 110)(压缩了 14%)
正在添加: myMANIFEST.MF(输入 = 59) (输出 = 58)(压缩了 1%)

运行

F:\
λ java -jar test.jar
this is B!!!

注意:虽然jar可以用winrar解压,但是不能编译好java文件,写好清单文件后,使用winrar压缩修改后缀名方式打包整改工程。

合并多个Jar包

jar -xvf 1.jar
jar -xvf 2.jar
jar -xvf 3.jar
del *.jar
jar -cvfm all.jar

results matching ""

    No results matching ""