本文是在學習java時做的記錄
工作目錄:/root/JAVA
1、編寫介面檔案IHello.java,將IHello.java檔案放到usr/com/example目錄下
注意:usr不是根目錄下的/usr,是在當前目錄下建立usr/com/example,因為package需要指定目錄。
目錄結構:
.
└── usr
└── com
└── example
IHello.java:
package com.example; public interface IHello { void Hello(); }
2、編寫ImpHello.java類檔案,用來實現Hell()方法。
注意:也要放在usr/com/example目錄下。
ImpHello.java
package com.example; public class ImpHello implements IHello { public void Hello() { System.out.println("hello"); } }
當前目錄結構:
.
└── usr
└── com
└── example
├── IHello.java
└── ImpHello.java
3、編譯介面jar包,usr同一級的目錄下建立out目錄。
命令列:javac -d out usr/com/example/*.java
當前目錄結構:
.
├── out
│ └── com
│ └── example
│ ├── IHello.class
│ └── ImpHello.class
└── usr
└── com
└── example
├── IHello.java
└── ImpHello.java
在打成jar包,命令如下:
jar cf Hello.jar -C out .
注意:
c建立新的jar包
f指定jar包檔名
當前目錄結構:
├── Hello.jar
├── out
│ └── com
│ └── example
│ ├── IHello.class
│ └── ImpHello.class
└── usr
└── com
└── example
├── IHello.java
└── ImpHello.java
可以看到生成Hello.jar,此時介面的jar包就已經完成,之後寫測試程式驗證jar包是否可用。
4、編寫Main.java,測試程式測試呼叫Hello.jar中的Hello方法。
Main.java
import com.example.IHello; import com.example.ImpHello; public class Main { public static void main(String[] args) { IHello testHello = new ImpHello(); testHello.Hello(); } }
當前目錄結構:
.
├── Hello.jar
├── Main.java
├── out
│ └── com
│ └── example
│ ├── IHello.class
│ └── ImpHello.class
└── usr
└── com
└── example
├── IHello.java
└── ImpHello.java
5、編譯Main.java
命令列:javac -cp Hello.jar Main.java
當前目錄結構:
.
├── Hello.jar
├── Main.class
├── Main.java
├── out
│ └── com
│ └── example
│ ├── IHello.class
│ └── ImpHello.class
└── usr
└── com
└── example
├── IHello.java
└── ImpHello.java
6、執行,檢視結果
# java -cp .:Hello.jar Main
hello