• 締切済み

教えてください

私はJavaを勉強してまだ1週間の初心者です。 参考書等見てもどうしてもわからなかったので、分かる人がいらっしゃいましたら教えていただきたいと思い、掲載させてもらいました。 サンプルで次のようなプログラムを作りました。 //サンプルプログラム class Sample{ public static void main(String args[]){ try{ System.out.println("sample"); }catch(NoClassDefFoundError e){ System.out.println(e + "という例外が起こりました"); }finally{ System.out.println("終了"); } } } このサンプルプログラムをコンパイルすることはできたのですが、実行すると、 [Exception in thread "main" java.lang.NoClassDefFoundError: Sample] のようなエラーが出ます。 ちなみに私は  JavaTM 2 SDK, Standard Edition  Version 1.3.1_01  Microsoft Windows 用 をインターネットからインストールして使っているのですが、 先週までは実行できたのですが、今週にはいってから実行できなくなりました。 JDKのアプリケーションを削除してまた、再インストールして実行しても 何もかわらず、先ほどのようなエラーが出るだけです。 原因がまったくわかりません。 どんなささいなことでも何でも構いませんので、解決するためのアドバイスをお願いします。

みんなの回答

回答No.2

No1の補足ですが、 あと、コンパイルしたクラスファイルをどのディレクトリで実行している かにもよりますが、コンパイルしたディレクトリと同じディレクトリで 実行しているのであれば、 CLASSPATH環境変数にカレントディレクトリを追加すればOKです。 それじゃ。

takekun22
質問者

お礼

カレントディレクトリをCLASSPATHに追加するとできました。 どうもありがとうございました。 また何かありましたら宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

こんにちは。 これは、コンパイルしたクラスが見つからないよ、というエラーです。 このコンパイルしたクラスにクラスパスがとおっていますか? コンパイルしたクラスをどのディレクトリでコンパイルしているかわかりませんが カレントディレクトリなら 環境変数CLASSPATHにカレントディレクトリ'.'を含めれば実行できます。 がんばって下さい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ファイル読み込みで

    市販のテキストでファイルを読み込むプログラムを作ったのですがうまくできません。 import java.io.*; public class ShowFile{ public static void main(String args[]){ if(args.length != 1){ System.out.println("使用法: java ShowFile ファイル"); System.out.println("例: java ShowFile ShowFile.java"); System.exit(0); } String filename = args[0]; try{ BufferedReader reader = new BufferedReader(new FileReader(filename)); String line; while((line = reader.readLine()) != null){ System.out.println(line); } reader.close(); }catch(FileNotFoundException e){ System.out.println(filename + "が見つかりません"); }catch(IOException e){ System.out.println(e); } } } javac ShowFile.javaでコンパイルはうまくいったのですが、 実行時にjava ShowFile input.txtとするとException in thread "main" java.lang.NoClassDefFoundError: ShowFile というエラーが出ます。input.txtというファイルは存在します。 アドバイスをお願いします。

    • ベストアンサー
    • Java
  • java 実行エラーについて

    プログラムを実行すると、 Exception in thread "main"java.lang.NoClassDefFoundError:Sample と出ます。理由がわかる人はぜひ教えてください。 一応プログラムを載せておきます。 < Sample.java > public class Sample{ public static void main(String[] argc){ System.out.println("Hello World!"); } } お願いします。

    • ベストアンサー
    • Java
  • JAVA実行時のエラーメッセージについて

    コンパイル後、実行するとコードはどのようなものでも、同様のエラーメッセージが表示されます。 例えば、超基本の下記のソースでも表示されます。 //Sample01.java class Sample01 { public static void main (String args[]) { System.out.println("Hello World"); } } エラーメッセージは同様に、 「Excption in thread "main"java.lang.NoClassDefFoundError: Sample01」 と表示されてしまいます。 このエラーの対処方法をお願いします。

    • ベストアンサー
    • Java
  • コマンドライン引数

    『やさしいJava』で勉強してます。 import java.io.*; class Sam3 { public static void main(String args[]) { if(args.length != 1){ System.out.println("ファイル名が違うよ。"); System.exit(0); } try{ BufferedReader br= new BufferedReader(new FileReader(args[0])); String str; while((str = br.readLine()) != null){ System.out.println(str); } br.close(); }catch(IOException e){ System.out.println("エラー"); } } } で、コンパイルして、 Sam3 test2.txt と実行しても 「準備ができていません。読み取り中・・・」 としかでません。 なにか間違いがあるのでしょうか? お願いします。

    • ベストアンサー
    • Java
  • throw文について

    上と下のソースプログラムがよく似ているのにもかかわらず上記のプログラムでコンパイルエラー発生する理由がわかりません。 解決方法はpublic static void badMethod()throws IOException{に書き換えるということが分かっていますがイマイチ理屈が分からない次第であります。 たぶん、上記のプログラムはimport文があるからだと思うのですが回答のほどよろしくお願い致します。 (コンパイルエラー) import java.io.IOException; class TryCatch{ public static void main(String args[]){ try{ badMethod(); System.out.println("A"); } catch(IOException ex){ System.out.println("B"); } catch(Exception e){ System.out.println("C"); } System.out.println("E"); } public static void badMethod(){ throw new IOException(); } } (コンパイル正常) public class X{ public static void main(String args[]){ try{ badMethod(); System.out.println("A"); } catch(Exception ex){ System.out.println("B"); } finally{ System.out.println("C"); } System.out.println("D"); } public static void badMethod(){ throw new RuntimeException(); } }

  • 標準入力をするメソッドを作り例外処理をそのメソッド内で行います

    以下のソースでエラーが発生します return文は書いているのですが エラー内容は 「return 文が指定されていません」 と出ます。 return文はどこに置けばいいのでしょうか。 よろしくお願いします。 public static int getStdin(){  try{   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   return (Integer.parseInt(br.readLine()));  }catch(IOException e){   System.out.println("標準入出力でのエラー");  }catch(NumberFormatException e){   System.out.println("不正な入力が行われました");  }finally{   System.out.println("例外処理が無事終了");  } }

    • ベストアンサー
    • Java
  • Hello World さえも実行できないのですが

    DOSで実行しております。 コードは以下のとおりです。 ソースファイル名は sample.java class sample { public static void main(String args[]) { System.out.println("unko"); } } # javac sample.java のように、JDKの最新版を用いてコンパイルしたところ、 コンパイルエラーは表示されません。 # java sample と実行したところ次の用な実行エラーが表示されるのです。 Exception in thread "main" java.lang.NoClassDefFoundError: unko です。 本当に困り果てています。 どうか解決方法のご教授宜しくお願いいたします。

    • ベストアンサー
    • Java
  • 10進数を2進数に変換するプログラムについて

    キーボードから入力された10進数を2進数に変換するプログラムで入力される数は1~1000の値までが入力できる数です。 配列を使うらしいのですがどのようにアルゴリズムをどのように表したらいいのかわかりません! import java.io.*; class Question7_3{ public static void main(String[] args){ BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.print("数字を入力してください:"); } System.out.print("入力されたデータを2進数に変換すると:"); }catch(NumberFormatException e){ System.out.println("整数以外が入力されました。"); }catch(IOException e){ System.out.println("例外発生:" + e); } } }

  • echoサーバについて

    javaを勉強しています。 echoサーバをつかったサンプルがあり、vinelinux上でコンパイリし実行したのですが、ioexceptionの例外が出ているようです。 echoサーバは動いていないのでしょうか?? echoサーバが動いているかどうか確認する方法はないですか? このようなプログラムです。 import java.io.*; import java.net.*; public class EchoClient{ public static void main(String args[])throws IOException{ Socket echoS = null; BufferedReader in = null; PrintStream out = null; try{ echoS = new Socket("1300",7); in = new BufferedReader(new InputStreamReader(echoS.getInputStream())); out = new PrintStream(echoS.getOutputStream()); }catch(UnknownHostException e){ System.out.println("ホストに接続できません"); System.exit(1); }catch(IOException e){ System.out.println("ioコネクションを得られません"); System.exit(1); } BufferedReader stdln = new BufferedReader(new InputStreamReader(System.in)); String typedString; while((typedString = stdln.readLine()) != null){ out.println(typedString); System.out.println("サーバーからのエコー" + in.readLine()); } in.close(); out.close(); stdln.close(); echoS.close(); } }

    • ベストアンサー
    • Java
  • javaが実行されない

    雑誌を買ってjavaでプログラミングをしているのですが なぜか実行できません。 ツールはteraPadとJDKを使っています。 public class sample { public static void main(String[] args) { System.out.println("hello!"); } } コンパイルし、classファイルを実行すると Exception in thread "main" java.lang.NoClassDefFoundError: sample/class と出て実行できません。結果はhello!となるはずなのですがどなたかどこがおかしいのか教えてください。

    • ベストアンサー
    • Java