黑马程序员技术交流社区

标题: 有关***.class not found的疑问 [打印本页]

作者: 罗宝    时间: 2012-11-9 21:34
标题: 有关***.class not found的疑问
本帖最后由 罗宝 于 2012-11-11 14:38 编辑

当一个程序在不同的电脑上运行时,总是说***.class not found,那么对于在系统接口中的class,怎样知道该程序使用了哪些类.?
作者: 会飞的鱼    时间: 2012-11-10 02:31
一般在自己机器上能运行,但在别的机器上不能运行了,这时你得想想你们的环境配置是否一样。
比如说:你在你自己的tomcat加入了一些插件包,或者你的项目指向了你的系统中某个你自定义的引用包,但它没包含到你的项目中去。
而此时别的机器上又没有你这环境,所以会报这个错误。
不知你是否已看完了类加载器ClassLoad,它的原理就是需要用到某个类的时候,会先去类加载器所能加载的区域去获取字节码。
那我们能控制的就只有两个,一个是Ext,另一个就是App,还有一个就是JVM自己带的了,我们没法控制。
比如说我的tomcat加了某个插件包,它放在Ext目录下,而别的机器去没有这个包,
所以在使用这个类的时候,来这里加载它的字节码时,找不到,所以报错。
如果你的tomcat没有加什么插件,还是出现这种错误,那就是你的项目引入了你自定义的包里面的类,但它并没有包含到项目里来。(当然此时IDE会直接报错,说某些类找不到),如果你的项目没有报错,就考虑tomcat那种情况看看。
作者: 李长波    时间: 2012-11-10 19:06
有可能是版本控制的问题
有可能是dk版本冲突的问题  
相应的jar包是否都放到工程里了
也有可能jar包冲突了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2