spring-mvc-3.1和commons-dbcp-1.2 和fastJson1.2.31冲突

今天在把自己的项目转为maven架构的时候,碰到一个很奇葩的问题具体如下:

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:

  Line 23 in XML document from class path resource [spring-mvc.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cos-all-limited.1.2: An ''all'' model group must appear in a particle with '{'min occurs'}'='{'max occurs'}'=1, and that particle must be part of a pair which constitutes the '{'content type'}' of a complex type definition.

Caused by: org.xml.sax.SAXParseException: cos-all-limited.1.2: An ''all'' model group must appear in a particle with '{'min occurs'}'='{'max occurs'}'=1, and that particle must be part of a pair which constitutes the '{'content type'}' of a complex type definition.

其实,正确的方法应该是先把该项目总的jar包删除后,再从原项目导入jar包,这个是肯定不会出问题的。因为是用maven控制的包的导入,只能是在导入的时候出现了包冲突的问题,造成了解析错误,重新查看jar包引入的过程,原来是在导入dbcp的jar包时,又引入了一个xml文档解析的jar包,造成了冲突。

fastJson-1.2.31.jar里面要implements GeneraicHttpMessageConverter 但spring-mvc-3.1.jar里面没有这个类,所以版本改成fastJson-1.2.2.jar

正确的引入dbcp依赖的方法是:commons-dbcp-1.2版本改成1.4

  排除依赖包

         <dependency>

            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.2.1</version>
            <exclusions>
                <exclusion>
                    <artifactId>xercesImpl</artifactId>
                    <groupId>xerces</groupId>
                </exclusion>
            </exclusions>
        </dependency>

主要是这个解析错误:

查了很多资料并没有找到答案,我就猜想是不是tomcat本身的问题,就尝试用MyEclipse自带的tomcat启动,结果没有报错。这里肯定了,是我的tomcat出问题。

我比较我使用的tomcat和myEclipse里的tomcat,最终发现,我使用的tomcat里面多了三个jar包;移除这三个jar包,问题解决。

ojdbc14.jar;

log4j-1.2.17.jar;

xercesImpl-2.0.2.jar;

我猜想是xercesImpl-2.0.2.jar;导致的,具体原因,由于比较晚并没有深究,有空研究

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值