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!