A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 罗宝 中级黑马   /  2012-11-9 21:34  /  1303 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 罗宝 于 2012-11-11 14:38 编辑

当一个程序在不同的电脑上运行时,总是说***.class not found,那么对于在系统接口中的class,怎样知道该程序使用了哪些类.?

评分

参与人数 1技术分 +1 收起 理由
杨志 + 1

查看全部评分

2 个回复

倒序浏览
一般在自己机器上能运行,但在别的机器上不能运行了,这时你得想想你们的环境配置是否一样。
比如说:你在你自己的tomcat加入了一些插件包,或者你的项目指向了你的系统中某个你自定义的引用包,但它没包含到你的项目中去。
而此时别的机器上又没有你这环境,所以会报这个错误。
不知你是否已看完了类加载器ClassLoad,它的原理就是需要用到某个类的时候,会先去类加载器所能加载的区域去获取字节码。
那我们能控制的就只有两个,一个是Ext,另一个就是App,还有一个就是JVM自己带的了,我们没法控制。
比如说我的tomcat加了某个插件包,它放在Ext目录下,而别的机器去没有这个包,
所以在使用这个类的时候,来这里加载它的字节码时,找不到,所以报错。
如果你的tomcat没有加什么插件,还是出现这种错误,那就是你的项目引入了你自定义的包里面的类,但它并没有包含到项目里来。(当然此时IDE会直接报错,说某些类找不到),如果你的项目没有报错,就考虑tomcat那种情况看看。

评分

参与人数 1技术分 +1 收起 理由
杨志 + 1 赞一个!

查看全部评分

回复 使用道具 举报
有可能是版本控制的问题
有可能是dk版本冲突的问题  
相应的jar包是否都放到工程里了
也有可能jar包冲突了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马