Digester: Java.lang.UnsupportedOperationException: This parser does not support

在maven工程中使用的了digester,但报了如下一个错误:
org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@65b60280:java.lang.UnsupportedOperationException: This parser does not support specification “null” version “null”

Degister2.1和1.8都试过了,都不好使,网上说是很多情况下是因为sun和ibm的jaxp不同实现造成的,需要加jaxp.properties(javahome/jre/lib),还需要添加xerces-xxx.jar包。

我试过了加了jar包也是不行的,甚至于造成eclipse也无法启动的现象。后来发现在classpath下有两个xerces的不同版本的包,一个是我手动加的xercesImpl.jar,一个是xercesImpl-2.6.2.jar,删除xercesImpl-2.6.2.jar后OK了!

但这个xercesImpl-2.6.2.jar不是我主动引入的,一定是maven引用的其他的包依赖自动导入进来的。所以开始排查到底是那个包依赖了这个造成的。最后发现:
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-bundle-jaxrs</artifactId>
<version>2.2.5</version>
</dependency>
对xerces有依赖,所以增加exclusion即可:
<exclusions>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusions>
至此,问题解决,困扰了一天的问题终于解决了!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值