メモ帳でJavaプログラムをコンパイルして実行すると、Could not find or load main class ...というエラーが表示される。解決方法
私はこれまでEclipseを使ってJavaプログラムのコンパイルと実行を行ってきました。Javaプログラムのコンパイルと実行のプロセスをよりよく理解するために、手動でJavaアプリケーションをコンパイルしてみたところ、さまざまなパッケージが関係しているため、多くの問題に遭遇しました。例えば、Could not find or load main class ....
次に、Javaのプログラムをコンパイルして実行するまでの具体的なプロセスを見てみましょう。
まず、testフォルダの下に、ioとmodelという2つのディレクトリを新規に作成します。これらは、それぞれクラスMainとクラスStudentのパッケージです。
メモ帳にクラスのStudentを書きます。ここではNotePad++を使っていますが、メモ帳を使うのは理にかなっています。
メモ帳にクラスMainを書き、先頭にパッケージ名を書き、Studentクラスのパッケージパスをインポートすることに注意します。
上記のStudentとMainのサフィックス名を".java"に変更することに注意してください。そして、対応するディレクトリに保存してください。
testディレクトリでコマンドラインを開く。(シフトを押しながら、対応するディレクトリで右クリックすると、オプションが表示されます)
コンソールに入力する
javac . /io/Main.java . /model/Student.java
MainとStudent用にコンパイルします。
modelとioのディレクトリを開くと、StudentとMainのクラスが対応するディレクトリに.classファイルを生成していることがわかります。これは、コンパイルが成功したことを意味します。
コマンドラインで、次のように入力します。
java io.
出力された "boy" は、クラスファイルが正常に動作していることを意味します。
ここで、以前遭遇した問題ですが、生成された.classファイルをコンパイルした後、Main.classのあるディレクトリに直接行き、main関数を含むMain.classをjavaコマンドで実行すると、Could not find or load main class Mainというエラーになりました。
ここでしばらく行き詰ってしまい、この記事を参考にして解決しました。
https://blog.csdn.net/weakfantasy/article/details/53379501
その理由は
関連
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
スレッド "main "での例外 java.util.NoSuchElementException in Java 問題解決済み
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException:5 エラー
-
名前 'XXX' を持つ Bean の作成に失敗しました。自動依存関係の注入に失敗しました 解決方法
-
SocketException java.netの4つの例外解決策。
-
FindBugの使用概要
-
コンストラクタDate()が未定義である問題
-
switch case文のcaseの後の列挙定数は列挙型なし
-
WatchDog + Redisによる分散ロック
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipse の問題 アクセス制限。タイプ 'jfxrt' はAPI解決されていません。
-
型に解決できない エラー解決
-
SLF4J: クラス・パスに複数のSLF4Jバインディングが含まれています。
-
プロジェクトの依存関係を解決できない。
-
無効なメソッド宣言
-
java マイクロソフト払い戻し予期せぬサーバーからのファイルの終了
-
Javaがリソースリークに遭遇した:'input'が閉じない 解決方法
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
git pull appears現在のブランチに対するトラッキング情報がありません。
-
java1.8ソースコード ArrayListソースコード解釈