java的jar包找不到有哪些原因?

dingkui 2008-11-19 10:16:59
大虾们好,小弟最近遇到头痛的问题:log4j和axis冲突,问题已经解决,但只是临时解决方案。

情况如下(以下试验都为Web工程)
服务器tomcat/oc4j/oas,操作系统 windows xp/linux red hat
log4j与axis的使用一切正常

服务器oas,操作系统 aix
1.log4j单独使用正常
2.axis单独使用正常
3.一起使用不正常 服务器启动时报错:
java.lang.NoClassDefFoundError: org.apache.log4j.Category
4.针对以上情况所作处理:将log4j包路径进行修改(修改编译源代码:org.apache.log4j.Category -> myproject.org.apache.log4j.Category )
修改后再打成jar包,服务器启动正常,程序中调用也正常

以上问题比较奇怪,目前虽然已经解决问题,但是没从根本上找到原因,希望各位大虾不吝赐教!
现在就有了这个问题:
哪些情况会引起包找不到,哪些原因会引起包里面的类找不到?
...全文
691 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanxueyuwulei 2008-12-02
  • 打赏
  • 举报
回复
遇到这种情况
首先检查你工程里的CLASSPATH是不是只读,如果是 请把只读去掉
检查你把JAR包导入工程的时候 CLASSPATH里面是否有把那个JAR包路径写入其中

hongama 2008-12-01
  • 打赏
  • 举报
回复
按照你的系统

1) JVM加载,默认在JRE下的lib下
2) tomcat加载,看tomcat版本,lib
3) application 下的WEB-INF下的lib加载
dingkui 2008-11-27
  • 打赏
  • 举报
回复
再问个基础问题,java的类加载是个么顺序?static方法和变量会在什么时候加载?
dingkui 2008-11-27
  • 打赏
  • 举报
回复
知道为什么会有冲突吗?我的理解是,包按照一定的顺序进行加载,对已经加载的包在什么情况下会有影响?
RACE_NULL 2008-11-24
  • 打赏
  • 举报
回复
如果是用多框架,包之间的相互冲突也难免
erlei20082008 2008-11-20
  • 打赏
  • 举报
回复
同意三楼的看法
lihan6415151528 2008-11-19
  • 打赏
  • 举报
回复
包没有导入,或者包路径放错了 肯定会出的
dingkui 2008-11-19
  • 打赏
  • 举报
回复
现在可以不用讨论哪里出的问题了,现在需要集大家的智慧总结一下

哪些情况会引起包或者是包里面的类找不到。我想做java的人都会经常遇到这样的问题。

就我目前所知,在classpath中设置的应该是可以找到的,在classpath中设置了也会出现类找不到的情况,这又会是些什么原因引起的呢?
boboo_2000_0 2008-11-19
  • 打赏
  • 举报
回复
还真是很难判断是哪的问题,期待其他高手的回答。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧