三個源文件,其中二個將打包成庫,文件以下java
slayer@mons:~/demos/java/pkgunpkg$ tree . ├── build ├── Espanol.java ├── HelloWorld.java └── Main.java 1 directory, 3 files
HelloWorld.javaui
public interface HelloWorld { public void sayHello(); }
Espanol.javaspa
public class Espanol implements HelloWorld { public void sayHello() { System.out.println("Hola!"); } }
Main.javacode
public class Main { public static void main(String[] args) { Espanol espanol = new Espanol(); espanol.sayHello(); } }
step1.編譯出做爲庫的classblog
$ javac HelloWorld.java Espanol.java
step2.把class文件打包成庫(lib.jar)編譯
$ jar cvf lib.jar *.class 已添加清單 正在添加: Espanol.class(輸入 = 410) (輸出 = 289)(壓縮了 29%) 正在添加: HelloWorld.class(輸入 = 126) (輸出 = 107)(壓縮了 15%)
step3.把庫和Main.java移動到build目錄,編譯Main.javaclass
$ cp Main.java ./build/ $ cp lib.jar ./build/ $ cd build/ $ tree . ├── lib.jar └── Main.java 0 directories, 2 files $ javac -classpath lib.jar Main.java $ ls lib.jar Main.class Main.java
step4.跑程序看看打包
$ java -classpath lib.jar: Main
Hola!