开发者社区> 问答> 正文

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

一个很奇葩的问题:

在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

展开
收起
爱吃鱼的程序员 2020-06-14 18:52:42 545 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    @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了一些文献,居然找不到了答案~~郁闷的紧这个检查了,确实存在的。
    2020-06-14 18:53:01
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载