• 締切済み

Exception in thread "main" java.lang.NoClassDefFoundError: helloworldで困っています

Exception in thread "main" java.lang.NoClassDefFoundError: helloworldと出てJAVAが実行できません。どうしたらよいのでしょうか。以前もこういう質問をしたのですが、またなってしまいました。 CLASSPATHの設定とかもしてみようといろいろと試行錯誤したのですが、だめでした。どういう設定にすればよいかもわかりません。 どうにかして、 java HelloWorld で実行できるようになりませんか? JAVAのSDKをインストールした場所は C:\j2sdk1.4.0 です。コンパイルはできます。 OSはWindowsXPです。初心者ですが、どうかよろしくお願いします。

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

みんなの回答

  • yuji
  • ベストアンサー率37% (64/169)
回答No.4

java -classpath . HelloWorld と入力しても駄目ですか? 参考URLにはJavaのFAQがたくさん詰まっています。 一度目を通しておいた方がいいですよ。

参考URL:
http://www.gimlay.org/~javafaq/S002.html#S002-08
  • jo-ji
  • ベストアンサー率72% (26/36)
回答No.3

トラブルが起きた時は、空白や日本語を含まないフォルダの下で実行した方がややこしくならずにすむのですが、こちらの環境(Windows 2000, Java2 SDK 1.3.0_02)ではデスクトップに置いても動作したので、関係なさそうですね。 同じフォルダの中で、 C:\Documents and Settings\VAIO\デスクトップ>javap HelloWorld を実行するとどうなりますか?

  • jo-ji
  • ベストアンサー率72% (26/36)
回答No.2

エラーメッセージの意味は、「helloworld」というクラスが見つからないよ、という意味です。 atonさんがおっしゃられているように、Javaでは「HelloWorld」と「helloworld」は区別されてまったく別物とされるので、質問を書くときの写し間違いでなければ、まずクラス名が「HelloWorld」となっていることを確認して下さい。 それで解決できなければ、または別のエラーメッセージが出てくるようになったら、コマンドプロンプトでどのように入力したかを、current directoryがどこであるかも含めて、補足して下さい。 (例) C:\>d: D:\>cd test D:\test>javac HelloWorld.java D:\test>java HelloWorld *** 表示されたエラーメッセージ ***

shinmailg
質問者

補足

下のようになってしまいます。どこでどうやっても実行できません。 SDKを再インストールしたのですが、だめでした。どうしてもできません。 --------------------------------------------------------------------- Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\VAIO>cd デスクトップ C:\Documents and Settings\VAIO\デスクトップ>javac HelloWorld.java C:\Documents and Settings\VAIO\デスクトップ>java HelloWorld Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld C:\Documents and Settings\VAIO\デスクトップ> --------------------------------------------------------------------- ソースファイルは↓ --------------------------------------------------------------------- public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } --------------------------------------------------------------------- よろしくお願いします。

  • aton
  • ベストアンサー率47% (160/334)
回答No.1

Javaでは大文字と小文字を区別します。 それを念頭において,もう一度プログラムや実行処理を見直してください。 なお,CLASSPATHの設定はしないほうがいいのではないかと思います。

shinmailg
質問者

補足

大文字小文字を区別してもおなじなのです・・・。

関連するQ&A

  • Exception in thread "main" java.lang.NoClassDefFoundError: Hello

    Javaでコンパイルは通るのですが、実行すると。 Exception in thread "main" java.lang.NoClassDefFoundError:Hello が出ます。 色々調べて、「java -classpath . Hello」または「set classpath=.;%classpath%」とすると実行できることが分かりました。 以前は、このような入力をしなくても実行できたのですが、何が原因なのでしょうか? また、この「Classpath」とは何ですか? 環境設定をするとコマンドラインからの実行ファイル名を入力するだけで実行できる(あってるのかな?)事は分かりますが、これは何なのでしょうか?環境設定とは異なる話なのでしょうか?

  • 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
  • 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)

  • Exception in thread "main" java.lang.VerifyError:

    JAVAをやり始めて間もないものですが、プログラムの実行を行うと下記エラーが発生してしまいます。 【エラー内容】 Exception in thread "main"java.lang.VerifyError: (class: KouH, method: doSyori signature: ()Z) Incompatible object argument for function call at FinGiuse.main(FinGiuse.java:53) エラー内容の意味が全く分かりません。 ご存知の方、教えてください。お願いします。

  • java.lang.NoClassDefFoundError

    こちらの http://www.hellohiro.com/socket.htm サーバー(マルチスレッド)とクライアントのプログラムを Windows環境でサーバーのアドレスを"localhost"にして一台のPC上で実行したところ うまくいったのですが 今度はサーバー側のプログラムをlinuxサーバーにおいてアドレスを指定して行ったところ コンパイルは正常に行えて(classファイルは作成されました)、実行するとクライアントからの接続までは うまくいくのですが ("172.0・・・ から接続がありました"とは表示されます) その後通信が切れてしまい Exception in thread "main" java.lang.NoClassDefFoundError: Connect という例外が起きてしまいます。 過去ログなどを調べたところクラスの定義が見つからないとのことなのですがソースにはしっかり定義されていると思います またサーバーのプログラムの実行を java -classpath . HelloWorldMultiThreadServer などでも行ってみましたが同じ状況になってしまいます どなたか是非アドバイスをいただけないでしょうか よろしくお願い致します

    • ベストアンサー
    • Java
  • javaが出来ません

    簡単な質問で申し訳ないのですが、 j2sdk1.4.1をインストールして "HelloWorld"とDOSで表示しようとしたのですが javac HelloWorld.java までは出来てclassもあるのですが java HelloWordを実行しようとしのですが、 Exception in thread "main" java,lang.NoClassDefFoundError:HelloWorld と表示されます。 どうしたらいいのでしょうか? お願いします。

    • ベストアンサー
    • Java
  • javaの実行環境

    javaの勉強をしようと思い、以下のhelloworldコードを書いてみました。 public class HelloWorld { public static void main(String[] args) { System.out.print("Hello World\n"); } } それを、以下のようにlinux環境(ubuntu 10.10)でコンパイル実行しようとしたのですが、 javac HelloWorld.java java HelloWorld.class Exception in thread "main" java.lang.NoClassDefFoundError: ・・・ と怒られてしまいました。そこで色々調べて jar cvmf manifest.mf test HelloWorld.class とjarファイルを作成して実行したところ、適切に"Hello World"が表示されました。 (manifest.mfの中身は"Main-Class: HelloWorld"1行だけです。) その後、このjarファイルをwindows環境に持っていって実行したのですが、 Exception in thread "main" java.lang.NoClassDefFoundError: ・・・ と怒られてしまいました。 linux環境で、"echo $CLASSPATH"を実行しても何も表示されず、CLASSPATHはどこにも通っていないようです。 また、windows環境のDOS画面にてSETを実行し、環境変数を表示させてもCLASSPATHはありませんでした。(javaはインストール済みです。) で、質問です。 1)なぜjarにすると実行でき、classファイルのままでは実行出来なかったのでしょうか? 2)windows環境で、CLASSPATHを設定したほうが良いのでしょうか?設定する場合は、prgramfiles\java\binで良いのでしょうか? 以上、長くなり申し訳ないのですが、よろしくお願いします。

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

    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
  •  Exception in thread "main" java.la

     Exception in thread "main" java.lang.StackOverflowError というエラーが出ます  moji()にtestという変数をいれてやり、mainから、書かそうとしていますが、  Exception in thread "main" java.lang.StackOverflowError というエラーが出ますが、何故かわかりません。  宜しくお願いします。 ************************************************************ public class ArgsTest2 { public static void main(String args[]) { moji(); } public static void moji() { String[] test = {"abcde","fghij"}; main(test); } }

    • ベストアンサー
    • Java
  • 「Exception in thread "main" java.lang.NoClassDefFoundError: CUSTOMER」エラー

    Oracle9i R2にJDBCで接続してCUSTOMER表のレコード件数を調べる単純なJavaプログラムをつくろうとしています。 以下のソースをOracle端末上で実行すると「Exception in thread "main" java.lang.NoClassDefFoundError: CUSTOMER」というエラーメッセージが表示されます。 環境設定としてCLASSPATHにclasses12.zipのパスを通しました。 ------------------------------------------------- // JDBC APIのインポート import java.sql.*;class CUSTOMER { public static void main (String args[]) throws SQLException, ClassNotFoundException { // JDBC Driverの登録 Class.forName("oracle.jdbc.driver.OracleDriver"); // Oracle9iに接続 Connection conn = DriverManager.getConnection ("jdbc:oracle:thin@192.168.0.10:1521:testdb", "test", "test"); // ステートメントを作成 Statement stmt = conn.createStatement(); // 問い合わせの実行 ResultSet rset = stmt.executeQuery("SELECT COUNT(*) FROM CUSTOMER"); // 問い合わせ結果の表示 while ( rset.next() ) { // 列番号による指定 System.out.println(rset.getInt(1) + "\t" + rset.getString(2)); } // 結果セットをクローズ rset.close(); // ステートメントをクローズ stmt.close(); // 接続をクローズ conn.close(); } } ------------------------------------------------- 何かおわかりの方いらっしゃいましたら教えて下さい。宜しくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう