前提・実現したいこと
すっきりわかるJava入門という本に沿ってJavaを独学しています。
現在パッケージと実際のフォルダ階層についての部分について学んでいるのですが、コマンドプロンプトよりjavaを実行すると下記のようなエラーになり実行することができません。
●フォルダの構造
ーーーーーーーーー
work/(クラスパスのフォルダ)
└calcapp/
├main/
│ └Calc.class(calcapp.mainパッケージ)
└logics/
└CalcLogic.class(calcapp.logicsパッケージ)
●エラー
ーーーーーーーーー
c:\dev>java calcapp.main.Calc
エラー: メイン・クラスcalcapp.main.Calcを検出およびロードできませんでした
原因: java.lang.ClassNotFoundException: calcapp.main.Calc
試したこと
試しに.javaファイルも各フォルダに置いてみたら実行でき、正常に表示されました。
●フォルダの構造を下記に変更
ーーーーーーーーー
work/(クラスパスのフォルダ)
└calcapp/
├main/
│ ├Calc.java (←コンパイル前の.javaファイルを新たに配置)
│ └Calc.class(calcapp.mainパッケージ)
└logics/
│ ├CalcLogic.java (←コンパイル前の.javaファイルを新たに配置)
└CalcLogic.class(calcapp.logicsパッケージ)
私が本を読んだ限りでは.classファイルだけをコピーして置けばいいという解釈だったのですが、私の理解不足なのでしょうか。
色々調べてみたのですが、同じような件について見つけられずに困っています。
おそらくかなり初歩的な質問だとは思いますが、よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
同じPCに AdoptOpenJDK と pleadis が入っており、今は本に沿ってAdoptOpenJDKにて開発をしています。
回答2件
あなたの回答
tips
プレビュー