java实现webservice的CXF框架和JDK1.6的冲突问题

        之前一直在做一个要涉及到webservice的项目,最后项目组决定采用cxf框架做。然后就出现了一个很奇怪的问题,成员能正常运行webservice的服务,而我的机器上运行的话总是会出现 com.sun.xml.bind.v2.runtime.LeafBeanInfoImpl不能找到getTypeNames方法的错误。在网上找了很久都没有找到相关的资料。弄了一个学期都没弄好,这个学期后来觉得可能是jdk的问题。

    最终发现是什么问题。原来是cxf里的jaxb包的com.sun.xml.bind.v2.runtime.LeafBeanInfoImpl类会和jdk自带的com.sun.xml.bind.v2.runtime.LeafBeanInfoImpl冲突,导致项目直接去调用jdk的类,而不去调用jaxb里的包,然后就会出现和cxf其他包不兼容的情况了。所以解决方法两点:

  1.设置项目的jre为Myeclipse 6.0自带的jre作为jdk

  2.设置tomcat的jdk也为Myeclipse 6.0自带的jre作为jdk(这是关键的一步)

这样设置后问题就会解决了,因为它自带的jre没有包含jaxb包里面的内容,自然就不会和jaxb里面的内容冲突了。弄了那么久才搞好,希望能给一些也要用到cxf而且又出现这样的错误的人一些帮助吧。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值