ホームページ >Java >&#&チュートリアル >追加のクラスパスで「java -jar」を使用する場合に「java.lang.ClassNotFoundException」を解決するにはどうすればよいですか?

追加のクラスパスで「java -jar」を使用する場合に「java.lang.ClassNotFoundException」を解決するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-04 00:24:301083ブラウズ

How to Resolve

追加のクラスパスで「java -jar」を使用する場合の ClassNotFoundException の解決

「java -jar MyFile.」を使用して JAR ファイルを実行する場合jar」を使用し、追加のクラスパスを指定すると、「java.lang.ClassNotFoundException」エラーが発生する可能性があります。このエラーは、プログラムの実行に必要なライブラリがランタイム環境からアクセスできないことを示しています。

この問題に対処するには、「-jar」オプションが JAR ファイルをスタンドアロン アプリケーションとして起動することを理解することが重要です。つまり、必要な依存関係がすべて内部に含まれている必要があります。 「-cp」を使用して外部クラスパスを指定するのは、JAR ファイルが自己完結型ではない状況を想定しています。

したがって、次の 2 つの推奨アプローチがあります。

  1. マニフェスト クラスパス (JAR が自己完結型の場合):

    • 必要なライブラリを「libs」サブフォルダーにコピーします。
    • Ant の「
    • 「java -jar MyProgram.jar」を使用してプログラムを実行すると、必要なライブラリが自動的にロードされます。
  2. 明示的なクラスパス (JAR が自己完結型でない場合):

    • メインの JAR とすべての依存関係を次の場所に配置します。
    • 「java -cp '.libs/' main.Main」を使用してプログラムを実行します。ここで、「.」はは現在のディレクトリを表し、スター () には「libs」ディレクトリ内のすべての JAR ファイルが含まれます。

これらのアプローチのいずれかを実装すると、追加のライブラリが実行中に JAR ファイルにアクセスできるようになり、「ClassNotFoundException」エラーが解決されます。

以上が追加のクラスパスで「java -jar」を使用する場合に「java.lang.ClassNotFoundException」を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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