- 締切済み
Hello Worldが実行できない
JAVAを初めて勉強しようとしています。 テキストにしたがって、java_ee_sdk-5_06-windows-ml.exeをインストールし、最初のHello Worldを実行しようとしていますが、エラーが出て進めません。 下のようなエラーが出ます。 C:\>java>javac Test.java Exception in thread "main" java.lang.NoClassDefFoundError: Test Caused by: java.lang.ClassNotFoundException: Test.java at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native M at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown S at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Sour Could not find the main class: Test.java. Program will exit. 根本的に何かが欠けていると思われるのですが、どのような原因が考えられるでしょうか?
- みんなの回答 (10)
- 専門家の回答
みんなの回答
とりあえずちゃんとテキスト読みましょう 最初の java>javac Test.java ですけど、これはjava.exeを実行して出力をjavacファイルにリダイレクトしてます java Test.java > javac と同等 (java.exeだけはJDKインストール時system32にも置かれるのでPATH通さなくても実行できる) テキストにこんな間違えたコマンドが載ってるわけはないので
- inu_zori
- ベストアンサー率0% (0/0)
>Exception in thread "main" java.lang.NoClassDefFoundError: Test >Caused by: java.lang.ClassNotFoundException: Test.java >Could not find the main class: Test.java. Program will exit. クラスパスは通っていますか? zozyさんの回答を参考に環境変数の設定画面に進んだ後で 「PATH」ではなく、「CLASSPATH」の値を編集して クラスパスをクラスファイルの置いてあるフォルダに通してください。
- osu_neko09
- ベストアンサー率48% (56/115)
No7です。 Javaでは、大文字・小文字は厳密に区別されます。(http://www.fk.urban.ne.jp/home/kishida/kouza/kishou/02basic.html より) 実行時のエラーではありませんか? クラス名とファイル名が、大文字小文字を含めて一致していないと、実行時に上記のエラーが表示されますが・・? class Test { public static void main(String args[]) { //中略 } } を、たとえば以下のように書いてしまうと・・という意味です。 class Tset { //テストじゃなくTセットになっている class TEST { //大文字小文字は区別される
- osu_neko09
- ベストアンサー率48% (56/115)
1.c:の直下にjavaというフォルダを作成する 2.作成したTest.javaを、c:\java\test.javaにコピーまたは移動する 3.コマンドプロンプトを開き、以下の4行を入力する(*****の部分はご自身のC:\Program Files\Javaフォルダをご覧の上、適宜ご修正ください) path=%path%;C:\Program Files\Java\jdk********\bin; cd \java javac Test.java java Test
- lailai2580
- ベストアンサー率64% (16/25)
少し気になったので書かせて下さい。 >javaというフォルダが、Cのルートではなく、C:\Program Files\の下にあったので、そちらにTest.javaを移動させて、 >C:\Program Files\Java>java>javac Test.java と実行しましたが、結果は同じエラーでした。。。 との事ですが、sekichan2006さんが実際に打ち込んだ文字は何ですか? C:\Program Files\Java> までが表示されていて、それ以降に java>javac Test.java と打ったという事でしょうか? それだとエラーが出てしまうと思います。 正しくは、 javac Test.java だけで良いかと思います。 コマンドプロンプト開き cd "C:\Program Files\Java" javac Test.java java Test の順でやってみて下さい。
- zozy
- ベストアンサー率60% (20/33)
まずは、これをインストールしましょう(JDKという環境です) https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u11-oth-JPR@CDS-CDS_Developer 以下の手順を行ってください 1)マイコンピュータのアイコンを右クリック 2)プロパティをクリック 3)詳細設定のタグをクリック 4)環境変数のボタンをクリック 5)pathという変数がありまのでそれを編集しましょう 6)すでに書かれている部分の後ろに;を追加してからJDKをインストールしたフォルダの"bin"フォルダのアドレスを追加してください 7)PCを再起動
お礼
ご回答ありがとうございます。 ただ、新たに紹介いただいたバージョンを手順どおりにインストールしましたが、実行結果は同じでした。。。 時間があるときにもう一度全部アンインストールして再試行してみます。
コンパイル時にエラーが出ているんですよね? これ以上は良く判りませんので、他の方の回答を待ちましょう。 m(_ _)m
お礼
そうです、コンパイルでのエラーです。何度も回答いただき、ありがとうございました。
じゃ、 test.java を c:\java フォルダに移動させて C:\>java>javac Test.java は?
お礼
たびたびすみません。 javaというフォルダが、Cのルートではなく、C:\Program Files\の下にあったので、そちらにTest.javaを移動させて、 C:\Program Files\Java>java>javac Test.java と実行しましたが、結果は同じエラーでした。。。
「Test.javaの名前でc:\の下に配置しています。」 なら、 × C:\>java>javac Test.java ○ C:\>java>javac c:\Test.java じゃないの?
お礼
java>javac c:\Test.java にしても、同様のエラーが出ます。 C:\>java>javac c:\Test.java Exception in thread "main" java.lang.NoClassDefFoundError: c:\Test/java Caused by: java.lang.ClassNotFoundException: c:\Test.java 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) Could not find the main class: c:\Test.java. Program will exit.
ソースは?
お礼
Test.javaの名前でc:\の下に配置しています。 ソースの内容は以下の通りです。 import java.io.*; class Test{ public static void main(String args[]){ System.out.println("Hello Java World."); } }
お礼
ご回答ありがとうございます。 ご指摘の通りに入力すると、 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 とエラーになりました。。。 パスが通っていない、ということでしょうか?