プロが教えるわが家の防犯対策術!

はじめまして。

最近JAVAを始めようと思ったんですが、早くも行き詰まってしまいました。

コンパイルは出来るんですが、実行されないのです。
以下のような文章が出てきます。

Exception in thread "main" java.lang.NoClassDefFoundError: Hello

ちなみに、買った本のサンプルプログラムでも同じでした。

これは何が原因なんでしょうか?
よろしくお願いします。

A 回答 (3件)

これは初心者の人がよく引っかかるところですね。


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

参考URL:http://www.gimlay.org/~javafaq/S002.html#S002-08
    • good
    • 0
この回答へのお礼

返事遅れてスイマセン。

初心者がよく引っ掛かるトコだったんですね!

無事に実行できるようになりました。

どうもありがとうございました。m(__)m

お礼日時:2001/12/11 11:13

CLASSPATHは何も指定しないときのデフォルトがカレントディレクトリ、


指定した場合、指定した物のみ
(なので、カレントディレクトリもCLASSPATHに含める場合は
指定しなければならない)、

となるはずなのですが。

カレントディレクトリでjavaを実行しているか、CLASSPATHにclassファイルの有る
ディレクトリを参照しているか、確認してください。
あとは、".class"は実行時に指定しませんので念のため。
    • good
    • 0
この回答へのお礼

返事遅れてスイマセン。

皆さんの言う通りでした。

無事に実行できました!

どうもありがとうございました。m(__)m

お礼日時:2001/12/11 11:15

arya_520さんは、最近Javaを始めたということなので、JDKのバージョンは1.3であると思います。


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

返事遅れてスイマセン。

結局、『set CLASSPATH=.;%CLASSPATH%』としたら完全に消えました。

どうもありがとうございました。m(__)m

お礼日時:2001/12/11 11:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!