- ベストアンサー
エラー解決方法が分かりません。。
こんにちは、私は最近JAVAプログラミングを始めたのですが、コマンドプロンプトでコンパイルを無事に終えたあと、クラスファイルを指定して実行しようとすると必ず「Exception in thread "main" java.lang.NoClassDefFoundError: Hello」と表示されて実行できません。他サイトで調べたところこのエラーはHello.classの場所が分からないというものだということまで分かったのですが、解決策がよく理解できませんでした。あらかじめ環境変数のpathを変更して行っているんですが、コマンドプロンプトでどのように入力したらエラーが無くなるでしょうか?ご助言よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> ところで、やはり毎回この長いパスを入れなくてはならないでしょうか?環境変数の設定でうまくパスを通す方法は無いでしょうか? システム環境変数に 「CLASSPATH」で「.;D:\J2SDK\made」を設定すればよいですよ。
その他の回答 (3)
- Struts
- ベストアンサー率48% (29/60)
> そして3番目の方法で実行した結果、新しいエラーが出ました。「D:\J2SDK\made>java -.;D:\J2SDK\made Hello」と入力したところ「Unrecognized option: -.;D\J2SDK\made Could not creat the Java virtual machine.」と出ました。どう対処したらいいでしょうか? classpathが抜けています。 java -classpath .;D:\J2SDK\made Hello ※madeフォルダにHello.classがあるのですね?
補足
できました!抜けていたclasspathを入れたらうまくいきました!ところで、やはり毎回この長いパスを入れなくてはならないでしょうか?環境変数の設定でうまくパスを通す方法は無いでしょうか?
- Struts
- ベストアンサー率48% (29/60)
1.Hello.classのフォルダに移動し、コマンドプロンプトでjava Helloを実行する。 2.環境変数にclasspathを追加し、java Helloを実行する。classpathには.とHello.classがあるフォルダのパスを設定する。例).;D:\test 3.java -classpath .;D:\test Hello 上記を試してください。
補足
早速の回答ありがとうございます。 まず2番を試しましたが、同じ結果でした。教えていただいた方法では、クラスファイルが入っているフォルダを指定していますが、買った本ではjava自体が入っている場所までパスを通していました(.;D:\J2SDK\j2sdk1.4.2\binといった感じです) 果たしてどこまでパスを通せばいいのでしょうか?ちなみに両方とも試してもやはり同じ結果でした。 そして3番目の方法で実行した結果、新しいエラーが出ました。「D:\J2SDK\made>java -.;D:\J2SDK\made Hello」と入力したところ「Unrecognized option: -.;D\J2SDK\made Could not creat the Java virtual machine.」と出ました。どう対処したらいいでしょうか?
- ranx
- ベストアンサー率24% (357/1463)
classpathを設定しましょう。
お礼
どうもありがとうございました!おかげで上手くパスが通せました!