現在、Java と、コマンド プロンプトをコンパイラとして使用する方法を学習しています。しかし、 javaコマンドに続いてテスト クラス "Hello"を実行するたびに、以下のエラー メッセージが表示されます。
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: hello/Hello)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
「CLASSPATH」環境変数を確認したところ、次のように正しいです: .;C:\Program Files\Java\jdk1.7.0_25\bin; .;を削除しようとしました。CLASSPATH の最初からですが、何も違いはありませんでした。これで、.java クラスの .class バージョンを作成することで、 javacコマンドが問題なく動作するようになりました。しかし、実際にJavaコマンドを実行することはできません。
私のクラスの名前はHelloなので、javac Hello.javaと入力してファイルをクラスファイルとしてコンパイルすると、うまくいきました。しかし、次のように入力すると、上記のエラー メッセージが表示されます。作成した NetBeans IDE でプログラムをテストしましたが、エラーなく完全に正常に動作します。
java コマンドを実行して .class ファイルを実行できない原因は何ですか?