• ベストアンサー

NoClassDefFoundError??

Javaを勉強している学生です。 学校でJavaをやっていて、家もでもJavaの開発環境を整えようとしているのですが エラーが出てしまい困っています。 sunのページからJDK5.0をダウンロードし インストールは成功しました。 コマンドプロンプトの環境変数もセットしましたが (プログラム名をHellowWorldとすると) HellowWorld.javaと打ち込んだところ 「有効なWin32アプリケーションではありません」 と表示され java HellowWorldと打ち込むと 「Exception in thread "main" java.lang.NoClassDefFoundError と表示されてプログラムが動きません。 このエラーの意味が分からず困っています。 どなたか分かる方、回答お願いします。

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

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

  • ベストアンサー
  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.4

>コマンドプロンプトの最初の状態がC:\WINDOWS\system32になっているのを >C:\>にするにはどうしたらいいのでしょうか。 コマンドプロンプトのショートカットを右クリックしてプロパティを出して下さい。 「作業フォルダ」というのが、C:\WINDOWS\system32になっているのだと思うので、これをC:\にすれば良いです。

tsubasa41
質問者

お礼

ずばりその通りでした!!! 本当に何から何まで、早い回答でお答えしてもらって 助かりました! ありがとうございました、とても感謝しています。

その他の回答 (3)

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.3

取り敢えずコンパイルは出来るようになったのですね。 で、それでも実行できなかった、というのは予想してました。(初心者は必ずつまづくところです。) CLASSPATHに.(ドット)を追加して下さい。 CLASSPATH=.;C:\~ というように。 カレントディレクトリをクラス参照するパスに加える、という事をしないと、JavaはCLASSを見つけてくれないのです。

tsubasa41
質問者

お礼

予想ついてたんですね、私の行動。 回答通り、コントロールパネル→システム→詳細設定→環境変数 で、classpathを変更したところ実行できました!! 本当にありがとうございます!!! 2の方のお礼にも書いたのですが、コマンドプロンプトの最初の状態がC:\WINDOWS\system32になっているのを C:\>にするにはどうしたらいいのでしょうか。 毎度、「cd c:\」と書くのは少しわずらわしいのですが。

  • secretd
  • ベストアンサー率39% (50/126)
回答No.2

有名なエラーですね. CLASSPATHというのが通っていません. 参考URLとか,参考書を参考にして設定してください. ちなみに.今後エラーが出て困ったときは,エラーメッセージをそのままGoogleで検索してみることをお勧めします.きっと解決方法がでてきます.

参考URL:
http://www.ee.e-mansion.com/~egami/java/
tsubasa41
質問者

お礼

参考URLをみてやってみたのですが、「コマンドパスを張ります。これはAUTOEXEC.BATというファイルに…」というくだりがあるのですが、 AUTOEXEC.BATが私のところでは見つからずメモ帳で作ろうかと思ったのですが どこに保存すればいいか分からずまた振り出しに戻ってしまいました。 もう一つ質問なのですが、いろいろなテキストなど見てもコマンドプロンプトの初期状態がみな c:\> などきれいなのですが私は C:\WINDOWS\system32> と長いのですが、これを最初からc:\>にはできないでしょうか? いろいろ質問だらけで申し訳ございません。よろしくお願いします。

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.1

ちゃんとjavacでコンパイルしましたか? javac HelloWorld.java した後、HelloWorld.classが出来上がった事を確認して java HelloWorld で動きます。 ※ハローはHellowじゃなくてHelloですよ。

tsubasa41
質問者

お礼

お恥かしい。ご指摘ありがとうございます。 javacでコンパイルしたあとjavaを打ち込みました。 がNoClassDefFoundになってしまったので、申し訳ございませんが ご指摘通りにしても作動しませんでした。 ありがとうございます。

関連するQ&A

  • Eclipseで実行できてコマンドプロンプトで実行できない

    最近Windowsパソコンを購入して、Javaを勉強し始めているものです。昨日まではコマンドプロンプトでもjavaコマンドが実行できていたのですが、本日実行してみると、 Exception in thread "main"java.lang.NOClassDefFoundError: と出てきてしまいます。Eclipseではコンソール画面に結果が表示されるのですが、コマンドプロンプトではエラーになってしまいます。環境変数のPATHの設定も問題ないようなのですがどうしたらよいのでしょうか?

  • java.lang.NoClassDefFoundError。。。

    どうぞ知恵をお貸しください。 ・jdk-1.5.0.16 ・mysql-4.0.26-win32 ・mysql-connector-java-3.1.14 ・eclipse 3.2.0 をダウンロード、インストールしてjavaの勉強を行っています。 コマンドプロンプトよりコンパイルを成功した場合は実行時に下記のエラーが、 Exception in thread "main" java.lang.NoClassDefFoundError コンパイルに失敗した場合は「読み込めません」のエラーが出力されます。 環境変数でCLASSPATHも設定してありますが、あえて実行時にclasspathを指定しても試みてみましたがエラーは変わりません。 何が原因なのでしょうか? どうぞご指導をよろしくお願いします。 エラー全文 Exception in thread "main" java.lang.NoClassDefFoundError: sample (wrong name: mypackage/sample) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source)

  • エラー解決方法が分かりません。。

    こんにちは、私は最近JAVAプログラミングを始めたのですが、コマンドプロンプトでコンパイルを無事に終えたあと、クラスファイルを指定して実行しようとすると必ず「Exception in thread "main" java.lang.NoClassDefFoundError: Hello」と表示されて実行できません。他サイトで調べたところこのエラーはHello.classの場所が分からないというものだということまで分かったのですが、解決策がよく理解できませんでした。あらかじめ環境変数のpathを変更して行っているんですが、コマンドプロンプトでどのように入力したらエラーが無くなるでしょうか?ご助言よろしくお願いします。

    • ベストアンサー
    • Java
  • NoClassDefFoundErrorの解決方法

    netbeansでjava.lang.NoClassDefFoundErrorの解決方法を教えて下さい。 NetBeans IDE 7.0を使ってJAVAで、「Hell World !」を表示するものを 作りました。 ソースコード public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } } NetBeansで、 「実行]-「ファイルを実行」とすると、「Hello World!」と表示されます。 正しく動きます。 しかし、 「実行」-「プロジェクトを実行」とすると、以下のエラーメッセージがでます。 java.lang.NoClassDefFoundError: helloworld/HelloWorld Caused by: java.lang.ClassNotFoundException: helloworld.HelloWorld at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main class: helloworld.HelloWorld. Program will exit. Exception in thread "main" Java Result: 1 また、コマンドラインから以下の様に実行しても、実行してもエラーとなります。 C:\Program Files\Java\jdk1.6.0_25\bin>java.exe -jar C:\java\HelloWorld\dist\HelloWorld.jar Exception in thread "main" java.lang.NoClassDefFoundError: helloworld/HelloWord Caused by: java.lang.ClassNotFoundException: helloworld.HelloWorld at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main class: helloworld.HelloWorld. Program will exit. そこで、 ソースコードに、「package helloworld;」の記述を行いと期待した結果となりました。 NetBeansで、「実行」-「プロジェクトを実行」 コマンドラインから実行 しても、「Hello World!」と表示されます。 ソースコード package helloworld; public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } } 何故、 「package helloworld;」の記述の追加で動いたのでしょうか。 あるとないとで、どう違うのでしょうか。 「package helloworld;」は、何を意味しているのでしょうか。 環境は、 JDK1.6(jdk1.6.0_25) クラスパスは未設定。

  • 前に実行できたプログラムが全て実行できなくなりました。

    コマンドプロンプトを使って、プログラムを実行しようとしてます。 例で 「Aisatsu.java」というプログラムをやってみると C:\WORK>java Aisatsu.java C:\WORK>java Aisatsu Exception in thread "main" java.lang.NoClassDefFoundError: Aisatsu といったエラーが出てきます。どうして今まで出来ていたプログラムが出来なくなっているのでしょうか?

    • ベストアンサー
    • Java
  • Java起動・・・?

    学校でJavaの勉強をしています。 そこで家でもやってみようと思い学校と同じやり方をしたのですが起動?しません。 コマンドプロンプトで実行しているのですが、 Exception in thread "main" java.lang.NoClassDefFoundErrorと出ます。 どのようにすれば出来るようになりますか?

    • ベストアンサー
    • Java
  • 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はあります。

  • eclipseからtomcat起動できない

    eclipse から Tomcat を起動すると、 "Could not find the main class. Program will exit!" というエラーダイアログが表示され、 コンソールには、 java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap Exception in thread "main" とエラーが表示されます。 まったくの初心者でどうしたらよいのか解らず困っています。 どうしたらよいのか教えてください。 (環境) Tomcat 5.5.20 JDK 5.0.9 Eclipse 3.2.1

  • コマンドプロンプトから実行した時にエラーが出る

    Javaでバイトコードを実行しようとしたら、こんな文が出ました。 Exception in thread "main" java.lang.NoClassDefFoundError: Test01 実行できないのでWEBで調べてみたところ、以下のような回答がありました。 以下引用文>> Exception in thread "main"java.lang.NoClassDefFoundError:HelloWorld というエラーが出て動きません。 [S002-A08] 実行時エラーがでていることから、javaインタープリターは動いています。 HelloWorld という名前のクラスがみつからないというエラーです。 JDK1.2 以降の Java をお使いの場合、、 プロンプト> java -classpath . HelloWorld でどうでしょう? これでうまくいくならば CLASSPATH環境変数の 設定に . (ドット、ピリオド)がないのが原因です。 CLASSPATH環境変数は、間違い易いことが多い機能ですので完全に理解するまでは使わず、 -classpath 実行時オプションでクラスパス(java VM がクラスファイルを探すパス)を 教えてあげることをお勧めします。 doskey とうてば、Windows95/98 の MS-DOSプロンプトでのコマンド入力も苦にならないでしょう。 >> 以前はこんなことせずともコンパイル、実行できたんですが、何が変わってしまったのでしょうか。PATHの設定は正しく設定しているつもりなのですが… 個人的には毎回実行パラメーターに"-classpath . "と打ち込むのは面倒なので、打ち込まないでも実行できる方法が知りたいと思います。 ちなみにJDKのバージョンは1.3.1_01 OSはWindows2000です。

    • ベストアンサー
    • Java
  • コンパイルができないのですが…

    こんにちは。Javaプログラミングをはじめたばかりの素人です。 教本どおりにプログラムしてるつもりなんですが、実行結果が 教本のものと違うんです。MS-DOSプロンプト上で Exception in thread"main"java.lang. NoClassDefFoundError:Sample2 と表示されるのです。何がいけなかったのでしょうか。 どなたか教えていただけませんか?

専門家に質問してみよう