• 締切済み

コンパイルできるのに実行できない

はじめまして。 最近JAVAを始めようと思ったんですが、早くも行き詰まってしまいました。 コンパイルは出来るんですが、実行されないのです。 以下のような文章が出てきます。 Exception in thread "main" java.lang.NoClassDefFoundError: Hello ちなみに、買った本のサンプルプログラムでも同じでした。 これは何が原因なんでしょうか? よろしくお願いします。

みんなの回答

  • yuji
  • ベストアンサー率37% (64/169)
回答No.3

これは初心者の人がよく引っかかるところですね。 JavaFAQのサイトがあるので、そちらをご覧ください。 今回の件以外にも、いろいろ参考になることが載って いますので、目を通しておくとよいです。

参考URL:
http://www.gimlay.org/~javafaq/S002.html#S002-08
arya_520
質問者

お礼

返事遅れてスイマセン。 初心者がよく引っ掛かるトコだったんですね! 無事に実行できるようになりました。 どうもありがとうございました。m(__)m

回答No.2

CLASSPATHは何も指定しないときのデフォルトがカレントディレクトリ、 指定した場合、指定した物のみ (なので、カレントディレクトリもCLASSPATHに含める場合は 指定しなければならない)、 となるはずなのですが。 カレントディレクトリでjavaを実行しているか、CLASSPATHにclassファイルの有る ディレクトリを参照しているか、確認してください。 あとは、".class"は実行時に指定しませんので念のため。

arya_520
質問者

お礼

返事遅れてスイマセン。 皆さんの言う通りでした。 無事に実行できました! どうもありがとうございました。m(__)m

回答No.1

arya_520さんは、最近Javaを始めたということなので、JDKのバージョンは1.3であると思います。 DOSプロンプト(コマンドプロンプト)にて、javacでコンパイルした後、 > java Hello というコマンドでjava.lang.NoClassDefFoundErrorの例外が発生するのであれば、 > java -classpath . Hello というように、-classpathオプションで、カレントディレクトリを指定することにより、クラスパスが見つかります。 なお、毎回例外が発生するようであれば、setコマンドで環境変数CLASSPATHの設定内容を確認し、 > set CLASSPATH=.;%CLASSPATH% というコマンドを実行すれば、javaコマンドで-classpathオプションが不要となります。

arya_520
質問者

お礼

返事遅れてスイマセン。 結局、『set CLASSPATH=.;%CLASSPATH%』としたら完全に消えました。 どうもありがとうございました。m(__)m

関連するQ&A