- ベストアンサー
コンパイルした後 java (classファイルの名前) が実行できない
すみません。本当につまらない質問かもしれませんが コンパイルまではDOS窓でできるんですが。できたCLASS ファイルを java (できたclassファイル名) を実行しよう としても、 Exception in thread "main" java.lang.NoClassDefFoundError: (できたファイルの名前) と表示されてしまい、まったく実行できません。 これはどうしたら実行できるのでしょうか? なお、最新版のSDKとJava 2 Runtime Environmentはインストールしています。 どうかお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1. .classまでクラスファイル名つけてませんか? 2. カレントディレクトリがclassファイルのある場所にあるかまたはクラスパスがclassファイルのある場所に追加されていますか? 3. クラスファイル名間違ってませんか? 4. CLASSPATHを設定した場合、.(現在のディレクトリ)を指定していますか? 5. 2番目の回答者の方と同じです、ファイル名とクラス名一致してますか? JDKが古いバージョンの物も必要というのはちょっと聞いたことがないですが・・・。
その他の回答 (2)
- tomatosuki
- ベストアンサー率0% (0/4)
僕も初心者なので、詳しくはわかりませんが。ファイル名の指定の仕方が間違っているのではないでしょうか? Exception in thread "main"java.langNoClassDefFoundError;ファイル名 というのは、jvm が 「mainメソッドがないよ」って言っているはずです。 ですから、java コマンドを実行するときは、ファイル名ではなく、mainメソッドの入っているクラス名を指定すればよいのではないでしょうか? 例えば、sample1.java というファイルをつくったとします。 ////////////////////////////////////////////////////////////// //sample1.java class sample2{ public static void main(String args[]){ System.out.println("Hello World!!"); } } /////////////////////////////////////////////////////////////// これを実行する場合、 javac sample1.java java sample2 としなければなりません。 javac sample1.java java sample1 は間違いです。ファイル名ではなく、クラス名を指定するのです。 多分、これで間違えたと思うのですが、間違っていたら、ごめんなさい。 それでは、頑張ってくださいね。
個人的な経験なのですが、最新のJDKだけでは確かクラスファイルが足りないはずです。JDK1.1.8とかJavaの時代のものをダウンロードしてきて、インストール後、CLASSPATHに古いものをJDK1.3のlibのパスの後に追加すれば、きちんと動作するはずですよ。 間違いがありましたらご指摘ください。 ではでは☆
補足
4でした。ありがとうございました。