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!
相关文章
相关标签/搜索