2 つのクラスを含むプロジェクトをコンパイルしようとしています (それ以上になることもあります)。2 つのクラスは、作業中の同じディレクトリにあります。次のコマンドを実行します。
C:\Users\Me\Java>javac -d クラス -cp クラス *.java
パッケージファイル: cweek.java & nweek.java
package Hello;
public class cweek
{
public static void main(String[] args)
{
nweek.printmeth();
}
}
nweek.java
package Hello;
public class nweek
{
public static void printmeth()
{
System.out.println("I'm here");
}
}
ここで、C:\Users\Me\Java\Classes\Hello に移動し、「java cweek」コマンドを試行すると、次のエラーが発生します。
Exception in thread "main" java.lang.NoClassDefFoundError: cweek (wrong name: Hello/cweek)
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.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 sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)