在Java中编译并执行包(Package)中的类
//类 PackagedClass
package access.local;
public class PackagedClass
{
PackagedClass(){
System.out.println("Create a packaged class");
}
}
//类Foreign
package access.local;
public class Foreign
{
public static void main(String[] args)
{
PackagedClass pc = new PackagedClass();
}
}
在工作目录下(如D:/java)创建access/local目录,把PackagedClass.java和Foreign.java放到指定的包中D:/java/access/local/
编译源文件:
在控制台进入工作目录并输入命令:javac ./access/local/Foreign. java(相对路径)
或 javac D:/java/access/local/Foreign.java(绝对路径)
但用java命令运行得到的class文件时出现问题。
输入命令:java D:/java/access/local/Foreign
出现异常(如1):java.lang.NoClassDefFoundError
进入包所在目录D:/java/access/local/再试,输入命令:java
Foreign
仍报异常(如2)java.lang.NoClassDefFoundError: Foreign (wrong name: access/local/Foreign)
只有如下命令可以正常的执行
java access.local.Foreign
java.exe会在当前路径下寻找access/local/Foreign