一个package里面的类在eclipse 里面运行是可以的,但是我如果在cmd里面运行的话就会报java.lang.NoClassDefFoundError错,还有就是我如果把package去掉的话,类里面调用Class.froName 放在D盘或者e盘下面可以直接运行,但是放在文件夹下面就不行,如果有package声明会报java.lang.NoClassDefFoundError错,我如果把package去掉的话,class.forname("该类名")会报找不到这个类
[b]问题补充:[/b]
嗯,我自己刚才那么做了下。比如 package c10;
public class Test{
public void main(String[] srgs){
Class.forName("c10.test")//Class.forName("Test")会找不到
}
}
编译的时候得再c10的上层目录编译 javac c10/Test.java
java c10.Test
如果在c10目录下 javac Test.java编译成功但是java Test运行会报错()
有方法能在c10目录下运行这个Test么?
需要检查一下:
1.比如你写的程序是test.Test,路径为:C:\test\Test.java
那么你需要在C:根目录下运行:
java test.Test
而不是在c:\test目录下运行
java Test
2.如果是jdk1.4或者jdk1.4以前的版本,需要设置java环境变量classpath=.;JAVA_HOME/lib
上面的.比较重要,代表当前目录
java -cp .;你应用的jar 具体的类名字,包括你包名