ホームページ  >  記事  >  Java  >  追加のクラスパス オプションを使用して JAR ファイルを実行するにはどうすればよいですか?

追加のクラスパス オプションを使用して JAR ファイルを実行するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-03 22:22:021030ブラウズ

How to Execute a JAR File with Additional Classpath Options?

追加のクラスパス オプションを使用して "java -jar MyFile.jar" を呼び出す

コマンド "java -jar MyFile.jar" で JAR ファイルを実行する場合、これは必須ですクラスパスの要件を理解するため。 「-jar」オプションは、実行されるメインクラスが JAR ファイルに含まれていることを示します。一方、「-cp」は追加のクラスパスを指定するために使用されます。

指定されたシナリオで発生したエラーは、おそらく次の原因によるものです。 「-jar」オプションと「-cp」オプションの組み合わせ。回答で説明されているように、これらのオプションは相互に排他的です。両方のオプションを同時に使用すると、Java が解釈できないあいまいなコマンドが生成されます。

この問題を解決するには、ユーザーには 2 つのオプションがあります。

  • オプション 1: 使用するManifest-Class-Path 属性:

    このアプローチでは、JAR ファイルのマニフェストに、クラスパス上で必要な JAR を指定する「Class-Path」属性が含まれます。これにより、「-cp」オプションが不要になります。

  • オプション 2: 「-cp」で完全なクラスパスを指定します:

    Forこのオプションを使用すると、コマンドは「java -cp 'MyProgram.jar:libs/*' main.Main」になります。ここで、「-cp」はメイン JAR とその依存関係を含む完全なクラスパスを指定します。一方、「main.Main」クラスの明示的な名前付けにより、このクラスがエントリ ポイントとして実行されることが保証されます。

代わりに、Ant を活用することもできます。 「マニフェスト アプローチ」の場合、「」タスクは、JAR を作成する前にマニフェストに依存関係を追加します。

一方、「クラスパス アプローチ」の場合、完全なクラスパスは、JAR ファイルおよび明示的な名前付けと組み合わせて「-cp」オプションを使用して指定されます。メインクラスの。この方法は、ターゲット環境がマニフェストの「Class-Path」属性を認識しない場合に適しています。

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

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