ホームページ >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 ファイルを実行するには 2 つの方法があります。-jar オプションを使用するか、または-cp でクラスパスを指定します。ただし、両方のオプションを組み合わせようとすると、エラーが発生します。

-jar を使用する場合、Java 仮想マシン (JVM) は、JAR ファイルに必要な依存関係がすべて含まれていると想定します。したがって、-cp を使用して追加のクラスパスを指定することはお勧めできません。

代わりに、次の 2 つの代替アプローチがあります。

アプローチ 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。