追加のクラスパス オプションを使用した JAR の実行: "-cp" と "-jar" のジレンマを理解する
JAR ファイルを実行するとき、開発者は、JAR 自体に含まれるものを超える追加のライブラリまたはクラスへのアクセスを必要とする場合があります。これに対処するために、Java では、-cp (クラスパス) または -jar コマンドライン フラグを使用する 2 つのオプションが提供されています。
-cp 対 -jar: 相互排除のケース
-cp と -jar は異なる目的を果たし、組み合わせることはできないことに注意することが重要です。 -jar フラグは実行される JAR ファイルを指定し、-cp は追加のクラスと依存関係を見つけるために使用されるクラスパスを定義します。
-jar オプション:
If必要な依存関係が JAR ファイル内にカプセル化されているか、クラスパスから取得できる場合は、-jar フラグのみを使用するだけで十分です。 Java 仮想マシン (JVM) は、JAR のマニフェスト ファイルで指定されているように、JAR とクラスパスの両方からクラスを自動的にロードします。
-cp オプション:
外部依存関係が JAR に含まれていない場合、またはクラスパス上に見つからない場合は、-cp オプションを使用する必要があります。これにより、開発者は、メイン JAR と必要な追加の JAR、またはクラス ファイルを含むディレクトリを含むクラスパスを明示的に定義できます。次の構文はこれを示しています。
java -cp 'MyProgram.jar:libs/*' main.Main
この例では、MyProgram.jar でメイン JAR を指定し、libs/* (dir/* 構文を使用) ですべての JAR を libs サブディレクトリからクラスパスに追加します。 main.Main は、プログラムのエントリ ポイント (メイン クラス) を示します。
代替: JAR マニフェスト ファイルの変更
あるいは、Ant の
-cp と -jar の違いと使用例を理解することで、開発者は追加のクラスパス依存関係を必要とする JAR ファイルを効果的に実行でき、シームレスでエラーが発生しないようにすることができます。無料執行。
以上が追加のクラスパス オプションを使用して JAR を実行するにはどうすればよいですか: -cp と -jar の説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。