在 Java 中將 JAR 新增到類別路徑的方法
一、簡介
在處理 Java 專案時,我們經常依賴外部程式庫來編寫應用程式。
在本文中,我們將研究將這些庫作為 JAR 添加到類路徑上的不同方法。
2. 在命令列上使用-cp
或-classpath
首先,如果我們從命令列啟動程序,則將 JAR 依賴項指定為命令的一部分是有意義的:
java -cp /path/to/jar/file.jar com.example.MyClass
這裡, /path/to/jar/file.jar
/jar/file.jar 是 JAR 檔案的路徑, com.example.MyClass
是要執行的類別。
我們還可以添加多個 jar:
java -cp “lib/jar1.jar:lib/jar2.jar" com.example.MyClass
3. 在命令列上使用CLASSPATH
在某些情況下,可能需要使用同一個 JAR 在同一台電腦上執行多個 Java 程式。
在這種情況下,我們可以在 macOS/Linux 中設定CLASSPATH
環境變量,而不是在每個命令中指定類別路徑:
export CLASSPATH=/path/to/jar/file.jar
我們可以在 Windows 中執行以下操作:
set CLASSPATH=C:\path\to\jar\file.jar
一旦我們設定了CLASSPATH
,我們就可以運行我們的 Java 程式而無需指定classpath
選項。
值得注意的是,如果我們像這樣設定CLASSPATH
,它僅對該終端會話有效。一旦關閉終端,設定就會遺失。我們可以將類別路徑新增為環境變數以使其永久化。
4. 在**MANIFEST.MF
**檔中指定類別路徑
當我們建立一個獨立的應用程式時,將所有依賴的 JAR 捆綁到一個應用程式 JAR 中會很有幫助。
為此,我們需要將類別路徑包含在 JAR 檔案的MANIFEST.MF
檔案中:
Manifest-Version: 1.0
Class-Path: lib/jar1.jar lib/jar2.jar
Main-Class: com.example.MainClass
然後我們在創建應用程式 JAR 時添加此清單:
jar cvfm app.jar MANIFEST.MF -C /path/to/classes .
然後我們可以運行它:
java -jar app.jar
這包括類別路徑上的lib/jar1.jar
和lib/jar2.jar
。
需要注意的是, Class-Path
選項優先於CLASSPATH
環境變數以及–classpath
命令列選項。
5. 將 JAR 加入到lib/ext
目錄
在 Java 安裝的lib/ext
目錄中新增 JAR 是一種遺留機制,其中放置的 JAR 檔案會自動新增到類別路徑中。但是,對於大多數用例來說,這不是推薦的方法。
由於這些 JAR 由外部類別載入器載入,因此它們優先於CLASSPATH
環境變數中指定的 JAR 或–classpath
或–cp
選項中指定的目錄。
6. 在 Eclipse/Intellij IDE 中加入 JAR
我們可以使用 Eclipse 或 IntelliJ 等流行的 IDE 輕鬆地將 JAR 檔案新增至專案的類別路徑。這兩個 IDE 都提供使用者友善的介面,以便在我們的專案中包含外部程式庫。
有關詳細說明,我們可以參考 IDE 特定文件以獲得最準確和最新的指導。
7. 使用建置工具
雖然上述方法適用於小型項目,但無論大小的項目都可以利用建置工具。 Maven 和 Gradle 是用於此目的的熱門建置工具。
假設我們的專案遵循標準的 Maven 專案結構,我們可以在專案中包含依賴項及其傳遞依賴項:
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>example-library</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
讓我們運行命令:
mvn package
Maven 將這些 JAR 包含在我們的類別路徑中。
我們還可以將建置工具與 IDE 結合使用,以進一步簡化向類別路徑添加 JAR 的過程。
八、結論
使用外部函式庫是 Java 開發中的一項基本任務。
我們添加 JAR 的方式取決於專案的複雜性和要求。對於快速測試或腳本,簡單的命令列選項可能就足夠了。對於大型項目,我們可能需要使用 Maven 或 Gradle 等強大的工具來管理專案依賴項。