ホームページ >Java >&#&チュートリアル >外部依存関係を含む JAR ファイルをコマンドラインから実行するにはどうすればよいですか?

外部依存関係を含む JAR ファイルをコマンドラインから実行するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-16 13:18:15468ブラウズ

How to Run a JAR File with External Dependencies from the Command Line?

コマンド ラインからカスタム クラスパスを使用して JAR ファイルを実行する

外部依存関係に依存する JAR ファイルを実行する場合、適切なクラスパスを指定する重要です。この問題は、指定されたクラスパス ディレクトリ (lib/*) で JAR ファイルを実行しようとして、メイン クラスのロードまたは必要なライブラリの検索に失敗した場合に発生します。

解決策は、-jar オプションの動作を理解することにあります。使用すると、-cp で指定された他のクラスパス設定よりも優先されます。これはドキュメントに記載されています:

「このオプションを使用すると、JAR ファイルがすべてのユーザー クラスのソースとなり、他のユーザー クラス パス設定は無視されます。」

したがって、 JAR ファイルの一部として依存関係を削除したり、-jar を使用してクラスパスを変更したりすることはできません。

目的のクラスパスで JAR ファイルを正常に実行するには、次の点を考慮してください。 options:

オプション 1: JAR マニフェストに依存関係を含める

  • 相対パスを使用して、必要なすべての JAR ファイルを lib ディレクトリから JAR のマニフェストに追加します。
  • たとえば、ターゲット JAR ファイルの名前が MyJar.jar で、依存関係がlib/dependency1.jar、lib/dependency2.jar などの場合、マニフェスト エントリは次のようになります。
Class-Path: lib/dependency1.jar lib/dependency2.jar

オプション 2: コマンド ラインでクラスパスを指定する

  • -cp オプションを使用して JAR ファイルとクラスパスの両方を指定しますdirectory:
java -cp MyJar.jar:lib/* com.somepackage.subpackage.Main

このアプローチでは、メイン JAR 自体を含む、必要なすべての JAR ファイルを考慮する必要があります。

以上が外部依存関係を含む JAR ファイルをコマンドラインから実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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