问题描述
java -cp A.jar;B.jar -jar XXXX.jar 报找不到类的错误,java.lang.NoClassDefFoundError
问题分析
1,Classpath 中指定jar 的路径中不能有空格
2,指定-cp 后,会忽略环境变量%CLASSPATH%
3,-jar 不能使用系统类加载器加载除了Bootstrap 和Ext 以外其他的jar 包
4,包含main 方法的类也必须在Classpath 里面
解决方案
1,Classpath 中指定jar 的路径中不能有空格
windows 下可以搞个不包含空格的虚拟盘符映射到Class path
最好是将jdk 安装目录中的空格去掉
2,指定-cp 后,会忽略环境变量%CLASSPATH%
一定要将环境变量%CLASSPATH% 接进来,或者将其中的jar 也引入进来
3,-jar 不能使用系统类加载器加载除了Bootstrap 和Ext 以外其他的jar 包
将包含mian 类的jar 包解压
4,包含main 方法的类也必须在Classpath 里面
Classpath 中加入". "
当然还有另一种解决办法,就是使用一个打包工具如JSmooth 等将你的程序包成一个.exe 文件