• ベストアンサー

初心者、第一段階!

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

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

  • ベストアンサー
  • 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