在linux系統中,手動編寫java程式碼,將介面打成jar供其他程式呼叫,實現方式

insistYuan發表於2024-10-28

本文是在學習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

相關文章