使用附加類別路徑選項執行JAR:了解「-cp」與「-jar」困境
執行JAR 檔案時,開發人員可能需要存取JAR 本身包含的庫或類別之外的其他庫或類別。為了解決這個問題,Java 提供了兩個選項:使用 -cp(類別路徑)或 -jar 命令列標誌。
-cp 與 -jar:互相排斥的情況
需要注意的是,-cp 和 -jar 有不同的用途,不能組合使用。 -jar 標誌指定要執行的 JAR 文件,而 -cp 定義用於定位其他類別和依賴項的類別路徑。
-jar 選項:
如果所需的依賴項封裝在JAR 檔案中,或者如果可以從類別路徑中檢索它們,則單獨使用-jar 標誌就足夠了。 Java 虛擬機器 (JVM) 將自動從 JAR 和類路徑載入類別,如 JAR 清單檔案中指定的那樣。
-cp 選項:
當 JAR 中未包含外部依賴項或無法在類別路徑中找到外部依賴項時,必須使用 -cp 選項。它允許開發人員明確定義類別路徑,包括主 JAR 和任何必要的附加 JAR 或包含類別檔案的目錄。以下語法示範了這一點:
java -cp 'MyProgram.jar:libs/*' main.Main
在此範例中,MyProgram.jar 指定主JAR,libs/* (使用dir/* 語法)將libs 子目錄中的所有JAR 新增至類別路徑,並且main.Main 表示程式的入口點(主類別)。
替代方案:修改 JAR 清單檔案
或者,Ant 的
透過了解 -cp 和 -jar 的差異和用例,開發人員可以有效地執行需要額外類路徑依賴項的 JAR 文件,確保無縫和錯誤 -自由執行。
以上是如何運行具有附加類別路徑選項的 JAR:-cp 與 -jar 解釋?的詳細內容。更多資訊請關注PHP中文網其他相關文章!