Java工程帶庫編譯運行

三個源文件,其中二個將打包成庫,文件以下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!
相關文章
相關標籤/搜索