• ベストアンサー

初心者、第一段階!

第一段階でつまづいてます。 参考書を買ってプログラミングをしようとしたのですがうまくいきません。 J2SEを使用して「Hello!」と表示させるだけの簡単なものです。 Hello.javaと名前をつけてjavac Hello.javaでコンパイルまでは正常にできましたが、 java Hello と実行したときに Exception in thread "main" java. lang.NoClassDefFoundError: Hello と表示され「Hello!」と表示されません。始めたばかりで何がなんだか分かりませんが、付属の記入済みのエディタを使っても同じ結果です 原因として何が考えられるでしょうか?? ほんと初歩的ですいません

noname#201826
noname#201826
  • Java
  • 回答数4
  • ありがとう数4

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

  • ベストアンサー
  • momozange
  • ベストアンサー率67% (21/31)
回答No.4

>javaはカレントがクラスパスに含まれませんので 実際はJavaはデフォルトでカレントをクラスパスに設定します。 ・ユーザが任意でCLASSPATH環境変数を設定した ・実行時に-classpathオプションでJavaVMを起動した 上記の場合は、デフォルト(カレントのクラスパス)を*上書き*します。 このあたりはしっかりと理解しておくとよいでしょう。 またJavaの実行時には-classpathオプションを直接指定することが基本と思い CLASSPATH環境変数を使用するのは臨時のもの、と考えたほうがよいです。

noname#201826
質問者

お礼

CLASSPATH環境変数の指定をしていませんでした>< ありがとうございました

その他の回答 (3)

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.3

コマンドライン環境でJAVA開発ですね。 javaはカレントがクラスパスに含まれませんので、 >java -cp . Hello としないとだめです。

noname#201826
質問者

お礼

無事解決しました!ありがとうございます。

  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.2

Eclipse等の統合開発環境を入手して、 その上でプログラミングを行うことをお勧めします。 そうすれば、パスが通っていない等の基本的な問題は 視覚的に確認できますし、エラー処理も的確な修正候補を 表示してくれるでしょう。 何よりも、デバッガでソースコード内を飛び回って修正する方法を 身に付ければ開発効率は何十倍,何百倍にもなると思います。 Eclipseなら詳しい解説書も複数発売されていますので、 これも購入されることをお勧めします。

noname#201826
質問者

お礼

参考にしてみます。ありがとうございます!

  • mickmick2
  • ベストアンサー率34% (12/35)
回答No.1

nobukoumeiさん、こんにちは。 mickmick2です。 Helloクラスを定義できていないのが原因です。コンパイル後にできたクラスファイルは「Hello.class」になっていますか。 なお、以下のソースコードをコンパイル・実行すると「Hello!」と表示されます。※クラス名定義は1行目です。 <Hello.java> -------------------- public class Hello { public static void main(String[] args) { System.out.println("Hello!"); } } --------------------

noname#201826
質問者

補足

早速の回答ありがとうございます! クラスファイルはHello.classになってます。 記入していただいたものをコピーして作り直しても同じ結果になってしまいます><

関連するQ&A

  • 超初心者です。教えてください。

    初心者です。javaのマニュアル書に書いてある class Hello{ public static void main (String[] args){ System.out.println("Hi! Hello!!"); } }   はコンパイルすることができたのですが、実行すると Exception in thread "main"java.lang.NoClassDefFoundError: Hello という文書が出てきますどうすればいいのでしょうか。教えてください。

    • ベストアンサー
    • Java
  • コンパイルできるのに実行できない

    はじめまして。 最近JAVAを始めようと思ったんですが、早くも行き詰まってしまいました。 コンパイルは出来るんですが、実行されないのです。 以下のような文章が出てきます。 Exception in thread "main" java.lang.NoClassDefFoundError: Hello ちなみに、買った本のサンプルプログラムでも同じでした。 これは何が原因なんでしょうか? よろしくお願いします。

  • Javaが実行されません。

    javacコマンドは正常に動くのですが、javaコマンドを使用すると Exception in thread "main"java.lang.NoclassDefFoundError:Sample2 と表示されるんですよ。 原因を教えてください。

  • 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

    コンパイルできても、実行ができません。 次のようなエラーがでます。 このエラーはどのようなエラーなのでしょうか? Exception in thread "main" java.lang.NoClassDefFoundError: test コードはただたんにHello JAVA と表示させるだけです。 class Test{ public static void main(String args[]){ System.out.println("Hello Java\n"); } }

    • ベストアンサー
    • Java
  • コンパイルができなくて悩んでいます!!!

    先程、サンマイクロシステム社のホームページから、jdk1.5.0_02のJDKをダウンロードしてインストールしたのですが、どうしてもコンパイルできません。 "MyJava.java"というデータを作成したフォルダに行き"javac MyJava.java"とコンパイルすると、 画面には Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac/Main と表示されます。。。何回してもこのメッセージが出るのですが、私全くの初心者でどういう意味なのかわかりません。本当に困っています、なぜコンパイルが出来ないのか、また解決方法を教えてください。どうかお願いします。

    • ベストアンサー
    • Java
  • エラー解決方法が分かりません。。

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

    • ベストアンサー
    • Java
  • Javaが実行されません。

    javacコマンドは正常に動くのですが、 javaコマンドを使用すると Exception in thread "main" java.lang.NoclassDefFoundError:Sample2 と表示されるんですよ。 どのクラスファイルに対してもそうで、 以前実行できたクラスファイルに対しても そのエラーが出るんです。

    • ベストアンサー
    • Java
  • エラーなのですが…

    Javaコンパイルが成功して、クラスファイルは出来たのですがプロンプト画面上に Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/java と、表示されます。 原文は public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } です。なぜ例外が投げられるのでしょうか?すいませんが回答おねがいいたします。

    • ベストアンサー
    • Java
  • Javaアプリケーションについて

    次のようなプログラムを作ってコンパイルをしました。 public class app { public static void main(String[] args) { System.out.println("Hello from Java!"); } } コンパイルまではできるのですが、 java appで実行しようとすると Exception in thread "main" java.lang.NoClassDefFoundError:app となって、アプリケーションを実行することができません。 本には、これで実行できると書いてあるのですが・・・ どなたか教えてください。

    • ベストアンサー
    • Java