ホームページ  >  記事  >  Java  >  追加のクラスパス オプションを使用して JAR を実行するにはどうすればよいですか: -cp と -jar の説明

追加のクラスパス オプションを使用して JAR を実行するにはどうすればよいですか: -cp と -jar の説明

DDD
DDDオリジナル
2024-11-05 14:38:02328ブラウズ

How Do I Run a JAR with Additional Classpath Options: -cp vs. -jar Explained?

追加のクラスパス オプションを使用した 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 の タスクを利用して、クラスパスに外部依存関係を追加するプロセスを自動化できます。 JAR を構築する前にタスクを構成することで、開発者はマニフェスト ファイルに必要なクラスパス情報が含まれていることを確認できます。これにより、-cp フラグを使用した明示的な指定の必要がなくなります。

-cp と -jar の違いと使用例を理解することで、開発者は追加のクラスパス依存関係を必要とする JAR ファイルを効果的に実行でき、シームレスでエラーが発生しないようにすることができます。無料執行。

以上が追加のクラスパス オプションを使用して JAR を実行するにはどうすればよいですか: -cp と -jar の説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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