Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

修正:メインクラスを検索またはロードできませんでした

エラー「メインクラスが見つかりませんでした/ロードできませんでした ’は、コマンドプロンプトでjavaコマンドを使用して、ターミナルでクラス名を指定してJavaプログラムを起動するときに発生します。これが発生する理由は、主に、クラスを宣言する際のユーザーのプログラミングミスが原因です。

修正:メインクラスを検索またはロードできませんでした

前述のように、このエラーはほとんどシステムに関連しておらず、ユーザーは以下に示すようにいくつかのシナリオでミスを犯します。先に進む前に、Javaプログラミング言語とその仕組みについての基本的な知識があることを前提としています。

Javaで「メインクラスが見つかりませんでした」というエラーの原因は何ですか?

「メインクラスが見つからないかロードできませんでした」というメッセージは、実行のためにクラスをフェッチするJavaエンジンの最初のステップが失敗したことを意味します。 javaコマンド 場所を特定することができませんでした 正しいディレクトリにあるクラス。

場合によっては、正しいファイルパスを追加する必要があります Javaターミナルを正しい場所に向けます。コマンドライン端末からコマンドを実行しているため、コンピューターはクラスがどこにあるのか、どこにあるのかを認識していません。ターゲットIDEでは、IDEが現在の作業ディレクトリを指すポインタを保持しているため、これは問題ではありません。

「java」構文とは何ですか?

実行しようとしたときに端末がエラーを返す理由のトラブルシューティングを開始する前に、まずコマンドの構文を確認する必要があります。正しい構文を使用していない場合、必然的にこのエラーが発生します。

コマンドの通常の構文は次のようになります:

 java [ <option> ... ] <class-name> [<argument> ...]

ここで、

有効なコマンドの例は次のとおりです。

java -Xmx100m com.acme.example.ListAppuals kevin arrows bart

上記のコマンドにより、javaコマンドは次の操作を実行します。

  • クラス「com.acme.example.ListAppuals」のコンパイル済みバージョンを検索します ’。
  • 検索後、クラスが読み込まれます。
  • 次に、クラスが読み込まれると、クラスは、有効なシグネチャ、修飾子、および戻り値タイプを持つ「メイン」メソッドを検索されます。サンプルのメインクラスは次のようになります:
public static void main(String[])
  • このメソッドは、引数「kevin」、「arrows」、および「bart」を文字列[]として使用して呼び出されます。

「メインクラスが見つからないかロードできませんでした」を修正する方法

解決策1:クラス名の引数を確認する

ユーザーが犯す最も一般的な間違いは、引数として間違ったクラス名を指定することです(または、正しいクラス名は間違った形式です)。コマンドラインでパラメータを宣言しているため、クラス名引数を間違った形式で渡す可能性が高くなります。ここでは、間違いを犯す可能性のあるすべてのシナリオをリストします。

  • 単純なクラス名を書く 。 「com.acme.example」などのパッケージでクラスを宣言する場合は、完全なクラス名を使用する必要があります パッケージをJavaコマンドに含めます。
java com.acme.example.ListAppuals

代わりに

java ListAppuals
  • クラス名を宣言する必要があります ファイル名またはパス名を宣言する代わりに。パス名/ファイル名を宣言した場合、Javaはクラスをフェッチしません。 不正解 エントリには次のものが含まれます:
java ListAppuals.class

java com/acme/example/ListAppuals.class
  • ケーシング 考慮に入れる必要があります。 Javaコマンドでは大文字と小文字が区別され、1文字でも間違えると、メインクラスをロードできなくなります。 誤った間違いの例 は:
java com.acme.example.listappuals
  • あなたはすべきではありません ソースファイル名を宣言します 。前述のように、クラスを正しい完全なクラス名形式で宣言するだけで済みます。間違いの例は次のとおりです。
java ListAppuals.java
  • このエラーは、入力ミスを行った場合にも発生します またはクラス名を完全に書くのを忘れる

クラス名の宣言でずさんな間違いをした場合は、必ず修正してから、プログラムを起動してみてください。

解決策2:クラスパスを確認する

クラス名を正しく宣言してもエラーが表示される場合は、javaコマンドがパスで指定されたクラス名を見つけられなかった可能性があります。クラスパスは、Javaランタイムがリソースファイルとクラスファイルを検索するパスです。以下に示すように、2つの異なるコマンドを使用してクラスパスを簡単に設定できます。

C:> sdkTool -classpath classpath1;classpath2...

C:> set CLASSPATH=classpath1;classpath2...

クラスパスに関する詳細を確認するには、次のドキュメントを確認する必要があります。

Javaコマンドのドキュメント

クラスパスの設定

解決策3:ディレクトリを確認しています

ディレクトリをクラスパスとして宣言すると、そのディレクトリは常に名前空間のルートに対応します。たとえば、「/ usr / local / acme / classes」がクラスパス上にある場合、Javaはクラス「com.acme.example.Appuals」を検索します。次のパス名を持つクラスを検索します:

/usr/local/acme/classes/com/acme/example/Appuals.class

したがって、本質的に、クラスパスに次のアドレスを入力すると、Javaはクラスを見つけることができなくなります。

/usr/local/acme/classes/com/acme/example

サブディレクトリも確認する必要があります FQNと一致するかどうかを確認します。クラスのFQNが「com.acme.example.Appuals」の場合、Javaはディレクトリ「com / acme/example」で「Appuals.class」を検索します。

例を挙げると、次のシナリオを想定してみましょう。

  • 実行するクラスは次のとおりです:com.acme.example.Appuals
  • フルファイルパス は:/usr/local/acme/classes/com/acme/example/Appuals.class
  • 現在の作業ディレクトリ は:/ usr / local / acme / classes / com / acme / example /

その場合、次のシナリオが成り立ちます。

# wrong, FQN is needed

java Appuals

# wrong, there is no `com/acme/example` folder in the current working directory

java com.acme.example.Appuals

# wrong, similar to above scenario

java -classpath . com.acme.example.Appuals

# OK ; a relative classpath is set

java -classpath ../../.. com.acme.example.Appuals

# OK; an absolute classpath is set

java -classpath /usr/local/acme/classes com.acme.example.Appuals

注: クラスパスには、アプリケーションが必要とする他のすべてのクラス(システム以外)も含める必要があります。

解決策4:クラスパッケージを確認する

上記のすべての解決策が当てはまる場合は、ソースコードが正しいフォルダに配置されていることを確認する必要があります。また、パッケージを正しく宣言しました 。 IDEを使用してコードを実行すると、問題について通知される可能性があります。ただし、この場合、コマンドプロンプトで実行しているため、間違いが気付かれず、議論中のクラスエラーが発生します。


  1. Windows 10でDS4 Windowsが開けない問題を修正

    DS4 Windows は、PlayStation コントローラー (Dual Shock 3、Dual Shock 4、および Dual Sense) を使用して PC に接続するのに役立つ無料のポータブル プログラムおよび仮想エミュレーターです。 DS4 Windows は、PlayStation コントローラーを使用してプレイできるより多くの PC ゲームをユーザーに提供します。それだけでなく、必要に応じて変更できるキーまたはボタンの再マッピングと再バインドにも役立ちます。 DS4 Windows は確かに PC ユーザーの資産ですが、これらすべての利点の中で、プログラムが開けないという

  2. システムが入力された環境オプションを見つけられなかったのを修正

    システムは、入力された環境オプションを見つけることができませんでした。これは、Windows 10 ユーザーが時々経験するシステム エラーです。この問題は、Windows の更新や Windows ファイルのその他の破損によって発生します。 Windows 10 の高度なシステム設定が不適切な場合、環境変数が変更され、コンピューターにさまざまな問題が発生する可能性があります。このガイドでは、環境変数を設定する方法と、このエラーの原因を理解します。 システムが Windows 10 で入力された環境オプションを見つけられなかった問題を修正する方法 入力された環境オプションが見つからないと