在JFinal里使用Axis2报错:java.lang.ClassNotFoun?报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

在JFinal里使用Axis2报错:java.lang.ClassNotFoun?报错

爱吃鱼的程序员 2020-06-14 18:52:42 64

一个很奇葩的问题:

在JFinal里使用Axis2调用第三方的webservice,在Eclipse里通过DemoConfig.java启动服务(即在Jetty容器下)是可以正常运行的。但是我一旦把工程单独发布到Tomcat下或Jetty下,启动就会报 java.lang.ClassNotFoundException: org.apache.axiom.om.OMContainer 错误。但是检查了这个class所在的axiom-api-1.2.10.jar是在工程类库里的。

求助~~  @JFinal

应用服务中间件 Android开发 容器
分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-14 18:53:01

    @JFinal问题解决了。我的axis2的相关jar包是放在/WEB-INF/lib/axis2目录下的,就刚刚,我灵机一动把axis2的jar包直接放到 WEB-INF/lib下,居然问题就解决了。在Tomcat下运行OK,Jetty还没测试。难道jar包必须直接放在lib目录下?至少我以前使用Weblogic的时候是没有这个限制的。

    PS:为这个问题纠结了好几天,居然就这么解决了,我也是醉了~~

    回复 @JFinal:weblogic没这个问题,我以前都是在用weblogic用习惯了~~又学习了!根据javaweb规范在正式部署的时候容器只会去lib下加载jar包,而你之所以在开发环境下程序可以使用是因为eclipse可以在项目属性的Javabulidpath配置的Libraries标签页额外配置jar包依赖axiom-api-1.2.10.jar用winrar打开,看一下org.apache.axiom.om.OMContainer.class是否真的存在回复 @叶落花开:如果类文件确实存在,可能是没生效,检查一下类路径而且也google了一些文献,居然找不到了答案~~郁闷的紧这个检查了,确实存在的。
    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程