首頁 >Java >java教程 >如何執行具有附加相依性的 JAR 檔案:-jar 與 -cp?

如何執行具有附加相依性的 JAR 檔案:-jar 與 -cp?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-08 03:04:021053瀏覽

How to Execute a JAR File with Additional Dependencies: -jar vs. -cp?

使用附加類別路徑選項呼叫「java -jar MyFile.jar」

在Java 中,有兩種​​方法執行JAR 檔案:使用-jar 選項或使用-cp 指定類路徑。但是,嘗試組合這兩個選項會導致錯誤。

使用 -jar 時,Java 虛擬機器 (JVM) 假定 JAR 檔案包含所有必要的相依性。因此,不建議使用 -cp 指定額外的類別路徑。

相反,有兩種替代方法:

方法1:將JAR 加到主清單

  1. 將所需的JAR 檔案複製到子資料夾,例如“libs”。
  2. 使用在構建JAR 之前在Ant 中執行任務:
<code class="xml"><manifestclasspath property="myprogram.manifest.classpath" jarfile="MyProgram.jar">
  <classpath>
    <fileset dir="libs" includes="*.jar" />
  </classpath>
</manifestclasspath></code>
  1. 使用更新的清單創建JAR:
<code class="xml"><jar destfile="MyProgram.jar" basedir="classes">
  <manifest>
    <attribute name="Main-Class" value="main.Main" />
    <attribute name="Class-Path" value="${myprogram.manifest.classpath}" />
  </manifest>
</jar></code>

透過在清單中指定類別路徑, java -jar MyProgram.jar 將包含所有相依性。

方法2:使用-cp 指定類別路徑

  1. 在類別路徑中包含所有必需的JAR 檔案:
java -cp 'MyProgram.jar:libs/*' main.Main

使用* 語法擴展以包含“libs”目錄中的所有JAR 檔案。

請記住,選擇 -jar 或 -cp 方法至關重要。兩者結合可能會導致類別路徑衝突和錯誤。

以上是如何執行具有附加相依性的 JAR 檔案:-jar 與 -cp?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn