質問: ファイル実行時エラーがでる・・・(^^;)。 java超初心者です。初級者向けの本を見て、プログラムの勉強を始めてみました。コンパイルをするためのパスの設定はうまくいきました。cドライブ直下に「java」フォルダを作りそこにファイル名「hello.java」として保存しました。そのクラスファイル「hello.java」をコマンドプロンプト上でc:\java>に続き「java hello」と入力して、実行しようとすると、下記のエラーが出て困っています。exception in thread "main"java.lang.noclassdeffounderror:hello です。解説本を見ると、環境変数の「classpath」の設定に関して問題があるようで、カレントディレクトリをあらわす「.」を追加すればいいというのですが、私にとって「.」って何?どこにどうつけるのか具体的手順がよく説明されておらず、意味不明です。 使用osはwinxpなのですが、何をどうすればエラーに対処できるのか、プログラムが問題なく、実行できるのか、知りたいのです。ちなみに「jdk5.0(jdk-1_5_0-windows-i586)」を使用しております。保存場所は、「c:\program files\java\」内です。どうかよろしくお願いします。
回答: ●考えられる原因その1 コンパイルも成功してクラスファイルもできている。ならば、そのエラーはおかしいですね。もう一度、「java hello」とタイプしてください。で、「exception in thread "main"java.lang.noclassdeffounderror:hello 」がでるようなら、「java -cp . hello」とタイプしてください。 落ち着いて一文字の間違いもなく(大文字・小文字間違えなく)やってください。原因は単なるイージーミスとしか考えられません。 ●考えられる原因その2 mainメソッドの記述がおかしいと上記のエラーがでます。メインメソッドの定義で「public static void main(string args[])」と定義していますか?僕のサンプルソースを載せますので、コンパイル・実行してみてください。その後あなたのソースコードと違いをみてください。特に、staticキーワードが抜けていたりするときがあります。staticについては、後々勉強してみましょう。ソースコードは以下です。 public class hello3 { public static void main(string args[]) { system.out.println("hello world!!"); } } コピー&ペーストしてください。hello3.javaと言うファイル名にして、「javac hello3.java」→「java -cp . hello3」とコマンドプロンプトで入力してください。 可能性としては●2番目の方が高いとおもいます。 また、参考urlは2chの有志の人たちが作ってくれたサイトですが、大変参考になります(特に初心者の方)。エラーが出たら一度見てみるのもいいとおもいます。2chでも親切な人は親切ですから・・・ では、がんばってください。上記の2点さえしっかり守れば、”必ず”できると思います。