本人在测试java包访问权限时遇到了如下情况
package test1;
public class Test1 {
void go(){
System.out.println("go");
}
} package test1;
public class Test2 {
public static void main(String[] args) {
Test1 test = new Test1();
test.go();
}
}
package test2;
import test1.Test1;
public class Test12 {
public static void main(String[] args) {
Test1 test = new Test1();
}
}
分别将Test1和Test2存放于test1文件夹下,Test12存放于test2文件夹下,顺利编译通过,但是运行时都报出了
Exception in thread "main" java.lang.NoClassDefFoundError...
package test1;
public class Test1 {
void go(){
System.out.println("go");
}
} package test1;
public class Test2 {
public static void main(String[] args) {
Test1 test = new Test1();
test.go();
}
}
package test2;
import test1.Test1;
public class Test12 {
public static void main(String[] args) {
Test1 test = new Test1();
}
}
分别将Test1和Test2存放于test1文件夹下,Test12存放于test2文件夹下,顺利编译通过,但是运行时都报出了
Exception in thread "main" java.lang.NoClassDefFoundError...
./test1/Test1.class
./test1/Test2.class
./test2/Test12.class
----------
命令和输出大概是下面这样的:
----------java test1.Test2
go
java test2.Test12如果还是提示class找不到echo %CLASS_PATH%
检查环境变量的 class path 设置,看里面有木有 .
你的 class 文件又在哪个目录下?