Java工程带库编译运行

三个源文件,其中二个将打包成库,文件如下

slayer@mons:~/demos/java/pkgunpkg$ tree
.
├── build
├── Espanol.java
├── HelloWorld.java
└── Main.java

1 directory, 3 files

HelloWorld.java

public interface HelloWorld {
   public void sayHello();
}

Espanol.java

public class Espanol implements HelloWorld {
   public void sayHello() {
      System.out.println("Hola!");
   }   
}

Main.java

public class Main {
   public static void main(String[] args) {
      Espanol espanol = new Espanol();
      espanol.sayHello();
   }   
}

 

step1.编译出作为库的class

$ 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.java

$ 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!

 

posted @ 2014-08-11 14:43  Leo Forest  阅读(503)  评论(0编辑  收藏  举报