• ベストアンサー

Exception in thread

数日前にjavaの勉強をはじめました。 javacによって、classファイルは作成できました。 ファイルの中身は、 class Example1 {public static void main(String args[]) {System.out.println("This is the output from Example1");}}です。 環境変数のPATHはいじらずに、フルパスで作業しています。 classファイルは、C:\Java\jdk1.5.0\bin\exampleの中に保存されています。 java.exeは、C:\Java\jdk1.5.0\binな中にあります。 javaを実行しようとして、C:\Java\jdk1.5.0\bin>java C:\Java\jdk1.5.0\bin\example\Example と入力したところ Exception in thread "main" java.lang.NoClassDefFoundError: C:\Java\jdk1.5.0\bin\example\Exampleというエラーがでてしまいました。 原因がわかる方、教えていただけないでしょうか。 よろしくお願いいたします。

  • Java
  • 回答数9
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.7

C:\Java\jdk1.5.0\bin\example>..\java Example1 ではどうですか

100flower
質問者

お礼

ありがとうございます。 できました! 「すごい」の一言です。 理由は、今の私にはわかりませんが、これからしらべたいとおもいます。 ありがとうございました。

その他の回答 (8)

回答No.9

まず初めに、以下の過去ログを読んで、javaにおける「Path」と「CLASSPATH」の違いについて理解してください。 http://oshiete1.goo.ne.jp/kotaeru.php3?qid=382238 ただ、ここではWindows XPに関しての設定方法しか載っていないので、「Windows98の場合は?」となるかもしれません。なので、以下のサイトを利用して、もう一度環境変数の設定をし直してください。(もちろん、Windows2000やLinuxの所などは、全く関係ないので読み飛ばしてもらってもいいですよ。) http://www.hellohiro.com/appli.htm 今日は平日ということもあり、僕にできるのはこれぐらいかな~。がんばってねー。

参考URL:
http://oshiete.goo.ne.jp/ask/howto/search.html
100flower
質問者

お礼

参考URLを教えていただきましてありがとうございます。 これからは、JAVAだけでなくいろいろな事も勉強していきたいと思います。

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.8

JAVAコマンドで指定するのは、「ファイル名」ではなく「クラス名」ですよ。 で、クラス名だけでは、ファイルの場所が特定できないため、-cpオプションで場所を指定します。 今回の場合、Example1がデフォルトパッケージである場合は、 >java -cp C:\Java\jdk1.5.0\bin\example Example1 となります。 また、exampleパッケージである場合には、 >java -cp C:\Java\jdk1.5.0\bin example.Example1 となります。

100flower
質問者

お礼

#7の方の方法でも出来ましたが、ngsvxさんの方法でも出来ました。 皆様本当にありがとうございます。 コマンドについても、これから勉強していきたいと思います。 ありがとうございました。

  • yusukey
  • ベストアンサー率56% (17/30)
回答No.6

>バックスラッシュやスラッシュで区切るようには、書いていません。 ですよね。では参考書の通りにやってみましょう・・・。 まずはディレクトリ構成とかも同じようにして試すことをオススメします。

100flower
質問者

お礼

遅い時間まで、やさしく教えてくださいましてありがとうございました。 参考書の通りにやっても上手くいきませんでしたが、こちらで皆様に教えていただいた方法でできました。 なぜだかをこれから考えていきたいと思います。 ありがとうございました。

  • yusukey
  • ベストアンサー率56% (17/30)
回答No.5

>あと、ソースコードもなんだか変です。参考書では public ってのが頭についていませんか? 失礼しました。手元で確認しましたが public なしでも動きました。混乱させてしまったらごめんなさい。

  • yusukey
  • ベストアンサー率56% (17/30)
回答No.4

クラスを指定する際、バックスラッシュやスラッシュで区切るように参考書に書いてありますか?

参考URL:
http://takeoba.cool.ne.jp/java/HelloJava.htm
100flower
質問者

補足

バックスラッシュやスラッシュで区切るようには、書いていません。 参考書は、独習JAVA第3版です。

  • yusukey
  • ベストアンサー率56% (17/30)
回答No.3

http://okweb.jp/kotaeru.php3?q=1609769 によると参考書を購入して勉強されているとのことですので、今一度やっていることと参考書にかいてあることを見比べてみましょう。 いきなり応用するのはむずかしいですからまずは参考書にかいてあることそのままをやってみるのが良いかと。 恐らく >java C:\Java\jdk1.5.0\bin\example\Example で実行するようには書いてありませんよね? あと、ソースコードもなんだか変です。参考書では public ってのが頭についていませんか?

100flower
質問者

補足

ご回答ありがとうございます。 確かに、参考書にはPATHの設定をするように書いていましたが、そちらも上手くいかなかったので、こちらで色々調べて現在の手順になりました。 ソースコードは、何回も見ましたが、参考書に書いてあるとおりです。

  • osumitan
  • ベストアンサー率33% (102/307)
回答No.2

> java C:\Java\jdk1.5.0\bin\example\Example のところで、javaコマンドに渡すパラメータは classファイルから拡張子を除いたものではなく、 クラス名なのです。ですから、javaコマンドは 『C:\Java\jdk1.5.0\bin\example\Example』を クラス名と判断して探したところ見つからないので NoClassDefFoundErrorが発生したわけです。 javaコマンドのコマンドラインはこうなります。 > java Example1 javaコマンドは、クラス名からclassファイルを探すとき 環境変数PATHではなく、CLASSPATHを参照します。 CLASSPATHにExample1.classがある場所を追加してください。 (『.』を追加して、カレントディレクトリを参照する というようにしておくと、便利かと思います)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

多分 C:\Java\jdk1.5.0\bin>java C:\Java\jdk1.5.0\bin\example\Example1 では? クラス名が「Example1」になってますから

100flower
質問者

補足

ご回答ありがとうございます。 C:\Java\jdk1.5.0\bin>java C:\Java\jdk1.5.0\bin\example\Example1 と打ってみましたが、同じエラーがでてしまいました。

関連するQ&A

  • JAVAについて。コンパイルができません

    public class Main { public static void main(String[] args){ System.out.println("Hello World"); } } 上のソースで記述して、コマンドプロンプトでコンパイルしようとすると 下のような表示が起きます C:\Program Files\Java\jdk-12.0.1\bin>javac Main.java Main.java:1 エラー: Mainの書き込み中にエラーが発生しました: C:\Program Files\Java\ jdk-12.0.1\bin\Main.class public class Main { ^ エラー1個 何が原因でコンパイルされないかわからないです。 わかるかたいましたらよろしくお願いします。

  • Javaがへん

    1) いまhelo.javaがあるとします。 javac helo.java は通りました。 java helo と入力すると以下のようなエラーがでます。 Exception in thread "main" java.lang.NoClassDefFoundError: helo このサイトを見て、ちゃんと環境変数のパスは通しました。 http://www.smg.co.jp/seminar/java/ PATH C:\Program Files\Java\jdk1.5.0_09\bin (自分のversionは1.5.0_09です) 正直理由がわかりません。なんでこんなエラーがでるのかわかりません。helo.javaは単なるhello プログラムです。ちゃんと public static void mainはあります。

  • Exception in thread "main" java.…でも。

    Javaの初心者です。 仕事で他の方が作ったプログラムをいじることになりました。 あるclassファイルを実行しようとしたところ、javaコマンドで実行しようとしたところ、タイトルにあるように、Exception in thread "main" java.lang.NoClassDefFoundError:というエラーメッセジーが出ました。 いろいろ調べた結果、「:」以降に出てくる名前のクラスが見つからず、大半の場合は、CLASSPATHの指定がされていなかったり、まちがっていることが分かりました。 ただ、今回、表示されたのは、こんなクラス名なんです。 org/apache/bcel/generic/ATHROW bcel-5.1.jarというファイルはあるのですが、これをどこかに置いたら解決するものなのでしょうか? ためしに、実行しようとしたclassファイルと同じディレクトリに置いてましたが、何の効果もありませんでした。 もしお分かりになる方がいらっしゃいましたら、よろしくお願い致します。

    • ベストアンサー
    • 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
  • 何度やっても「読み込めません」のエラーが…。

    初級者向けの本を見てJAVAを始めた完全初心者です。 まず、「jdk-1_5_0-windows-i586」を「C:\Program Files\Java」に入れました。 で、使用OSはWin98SEなのですが、システム設定ユーティリティのAutoexec.batタブを選び、パスの設定をpath=%path%;"C:\Program Files\Java\jdk1.5.0\bin"としました。MS-DOSプロンプトで「javac」を実行したところ、パスの設定はうまくいったことが確認できました。 そして、メモ帳に class Hello { public static void main(String[] args){ System.out.println("Hello Java World!"); } } と書き込み、ファイルの種類は「すべてのファイルで保存」を選択してCドライブ直下の「java」フォルダに「Hello.java」として保存しました。 ところが、プロンプトで「C:\java>javac Hello.java」としても、 エラー:Hello.javaを読み込めません。 エラー 1個 とのエラーが表示されてどうしてもうまくいかないのです。 原因は何なのでしょうか。まだ、パスの設定の仕方に関して問題があるのでしょうか…。どうすれば対処できるのか、御存知の方、どうかアドバイスをよろしくお願い致します。

    • ベストアンサー
    • Java
  • javaの環境設定時のエラーに関して

    javaのプログラミング環境に関して質問があります。 JDKのインストールは完了し、パスの設定に関してもユーザの環境変数をJAVA_HOMEをC:\Program Files\Java\jdk1.6.0_15に設定し、パスの設定を C:\Program Files\Java\jdk1.6.0_15\binに設定しました。システム環境変数ではCLASSPASS「.」にしました。 テキストエディタで public class Hajimete { public static void main(String[] args){ System.out.println("Hello, world."); } } としてファイル名はHajimete.javaとしました。 コンパイル時に> cd C:\***として次行に C:\***javac Hajimete.javaとしました。 しかし、ディレクトリ名、ファイル名またはボリュームラベルの 構文がまちがってる。とエラーがでます。 このようなエラーがでるときには他に何が原因かご存知の方 ご教授いただけると有難いです。

  • JDBCについて

    JAVAを使ってデータベースに接続しようと思うのですが コンパイルはうまくいくのですが実行すると 「Exception in thread "main" java.lang.NoClassDefFoundError:」 と出てきます。どうゆう意味なのでしょうか? またパスについてもよくわかりません。 一応設定はユーザ環境変数とシステム環境変数の両方に 「CLASSPATH .;C:\Program Files\Java\jdk1.5.0_11\bin;C:\Program Files\Java\jdk1.5.0_11\lib\tools.jar;C:\mysql-connector-java-5.0.4\mysql-connector-java-5.0.4-bin.jar」 と 「PATH C:\Program Files\Java\jdk1.5.0_11\bin;C:\MySQL\bin」 を入れました。 どのようにしたらうまくいくでしょうか? アドバイスをよろしくお願いします。

    • ベストアンサー
    • 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
  • java初歩の初歩 コンパイルエラー

    これからjavaを学ぶ初心者です。 本やネットを参考にjavacはできましたが、実行がでません。 Exception in main"java.lang.NoClassDefFondError: HelloWorld とエラーが出ます。 この手の質問は多いようですが、自分がどの解決策に当てはまるのか分かりません。 教えてください。 ファイル名:HelloWorld.java 環境(?):WinXP Java2SDK1.4.1使用 環境変数の設定:PATH・ClassPATHともに→末尾に;C:\j2sdk1.4.1_07\binと入力 プログラム内容: class Print{ public static void main(String[] args) { System.out.println("Hello World!"); } }

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

    java入門の入門で、javaの勉強を始めた初心者です。その中で、わからないことが出てきたので、助けてください。  public class sample { public static void main(String[] args) { System.out.println("hello!"); } } というプログラムを書いて、コンパイルし、実行したのですが、 Exception in thread "main" java.lang.NoClassDefFoundError: sample/class というメッセージが出てきて実行できませんでした。ファイル名は、正確に入力しました。ちなみに、 sourceというディレクトリを作ってその中に、プログラムとコンパイルしたファイルを入れています。 C:\Source のディレクトリ 005/08/21 01:15 <DIR> . 005/08/21 01:15 <DIR> .. 005/08/21 04:59 412 sample.class 005/08/21 01:14 108 sample.java 2 個のファイル 520 バイト 2 個のディレクトリ 78,121,422,848 バイトの空き領域  そして、環境変数pathは、  C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Adaptec Shared\System;C:\Program Files\Common Files\Ulead Systems\MPEG;C:\ Program Files\Java\jdk1.5.0_04\bin です。長くなってしまいましたが、ここで止まってしまって先に進めません。どうかアドバイスをお願いします。

    • ベストアンサー
    • Java