は、それが通常の(Hello3.classとJavaクラス)の "Java Hello3は" 私に与えることです:私がjavaパッケージ命名規則を尊重しないと、.classは "java"コマンドで見つけることができません。
Exception in thread "main" java.lang.NoClassDefFoundError: Hello3 (wrong name: pp/Hello3)
Hello3.classがHello3.javaのコンパイルされたバイナリです。このJavaファイルはパッケージ "pp"の下にあると宣言されていますが、 "pp"ディレクトリには入れません。
Myコマンドjava Hello3.javaは、Hello3.javaと同じディレクトリで実行されます。さらに、 "java -cp。Hello3"コマンドも機能しません!おそらく私の問題?
私は次の回答からあなたの確認を得ているので、ここで素朴な結論を引き出すかもしれません。決して働かない.classを作るのは簡単です。単に.XavaをパッケージXXXの下に宣言しますが、XXXというディレクトリには入れないでください。 IMHO、これは攻撃として使うことができると思います!
正しい動作のようです。クラスにはパッケージが内部的に格納されており、不正なディレクトリにある場合は動作しません。 –