问题描述
一个package里面的类在eclipse 里面运行是可以的,但是我如果在cmd里面运行的话就会报java.lang.NoClassDefFoundError错,还有就是我如果把package去掉的话,类里面调用Class.froName 放在D盘或者e盘下面可以直接运行,但是放在文件夹下面就不行,如果有package声明会报java.lang.NoClassDefFoundError错,我如果把package去掉的话,class.forname("该类名")会报找不到这个类问题补充:嗯,我自己刚才那么做了下。比如 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:testTest.java那么你需要在C:根目录下运行:java test.Test而不是在c:test目录下运行java Test2.如果是jdk1.4或者jdk1.4以前的版本,需要设置java环境变量classpath=.;JAVA_HOME/lib 上面的.比较重要,代表当前目录
解决方案二:
java -cp .;你应用的jar 具体的类名字,包括你包名
时间: 2024-11-02 07:38:26