1. 环境
maven
spring-3.2.3
xfire-1.2.6
2. 问题描述
在工程中的 pom.xml 中添加 xfire
<dependency> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-all</artifactId> <version>1.2.6</version> </dependency>
只是添加了这个jar包,其他配置文件都没动,启动tomcat,报了如下的错误:
Line 8 in XML document from class path resource [applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".
查看工程的 Java Build Path 中的 Maven Dependencies 发现多了个 spring 的jar包:
工程中的 spring 用的版本是 3.2.3 的,而这个多出来的 spring 版本是 1.2.6 的,造成了 jar 包冲突。
用压缩软件打开 xfire-all-1.2.6.jar ,在其目录 META-INF\maven\org.codehaus.xfire\xfire-jms 的 pom.xml 中发现:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </dependency>
只需要将这个 spring-1.2.6.jar 从工程中删除即可。
但是发现,在 Maven Dependencies 中根本删除不了。
了解到,这个 spring-1.2.6.jar 是依赖于 xfire-all-1.2.6 的,故而,在 工程的 pom.xml 中,将这个依赖关系去掉即可--- 加上 <exclusions>
<dependency> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-all</artifactId> <version>1.2.6</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>1.2.6</version> </exclusion> </exclusions> </dependency>
相关推荐
xfire-all-1.2.6.jar commons-httpclient-3.0.1.jar XmlSchema-1.1.jar commons-codec-1.3.jar xalan-2.7.0.jar wstx-asl-3.0.1.jar jdom-1.0.jar activation.jar spring-1.2.8.jar stax-api-1.0.1.jar xbean-spring...
webservice中用到的jar,xfire-spring-1.2.6.jar,xfire-spring-1.2.6.jar,xfire-spring-1.2.6.jar,xfire-spring-1.2.6.jar
xfire-spring-1.2.6.jar
xfire-spring-1.2.6-sources.jarxfire-spring-1.2.6-sources.jar
xfire-all-1.2.6 xfire所需的全部包
为了解决spring整合cxf,xfire遇到的jar包冲突问题,将XmlSchema.1.1.1.jar和xfire-all1.2.6.jar修改后进行了重新编译打包
进行WebService开发中所用到的xfire所有相关包如:xfire-jsr181-api-1.0-M1.jar、xfire-jaxws-1.2.6.jar、xfire-java5-1.2.6.jar、xfire-core-1.2.6.jar、xfire-annotations-1.2.6.jar、xfire-aegis-1.2.6.jar、...
activation.jar commons-logging.jar jdom-1.0.jar spring-mock.jar spring.jar stax-api-1.0.1.jar stax-utils-20040917.jar ...xfire-spring-1.2.6.jar xfire-xmlbeans-1.2.6.jar xstream-1.3.1.jar
commons-httpclient.jar commons-logging.jar jaxen-1.1.jar jdom-1.0.jar jsf-api.jar jsf-impl.jar ...xfire-spring-1.2.6.jar xml-apis-1.0.b2.jar XmlSchema-1.1.jar xmlsec-1.3.0.jar
xfire-aegis-1.2.6.jar,xfire-annotations-1.2.6.jar,xfire-core-1.2.6.jar,xfire-java5-1.2.6.jar,xfire-jaxb2-1.2.6.jar,xfire-jaxws-1.2.6.jar,xfire-jsr181-api-1.0-M1.jar,xfire-spring-1.2.6.jar
commons-httpclient-3.0.1.jar XmlSchema-1.1.jar commons-codec-1.3.jar xalan-2.7.0.jar wstx-asl-3.0.1.jar jdom-1.0.jar activation.jar spring-1.2.8.jar ...xfire-all-1.2.6.jar jsr173_1.0_api.jar
这个自己写的xFire发布WebService,包含发布和调用,可以用在企业中,而且所用的jar也比较少,不会出现...1.0.jar,spring-1.2.6.jar,wsdl4j-1.6.1.jar,xbean-spring-2.8.jar,xfire-all-1.2.6.jar,XmlSchema-1.1.jar]。
xfire.jar,xfire-all-1.2.6.jar,xfire-core-1.2.6.jar
· spring-data-commons-1.6.2.RELEASE.jar · spring-data-commons-1.6.2.RELEASE-javadoc.jar shiro · shiro所有相关jar包 · shiro-root-1.2.2-source-release.zip spring-security · spring-...
xfire开发webservices相关jar包: xfire-aegis-1.2.6.jar xfire-annotations-1.2.6.jar xfire-core-1.2.6.jar xfire-java5-1.2.6.jar xfire-jsr181-api-1.0-M1.jar xfire-spring-1.2.6.jar xfire-xmlbeans-1.2.6.jar
fire-all-1.2.6.jar 这个是核心包,所有其他包的版本都要和这个兼容 xbean-spring-2.8.jar 这个也只能是这个版本,其他版本报错,例如2.7 jdom-1.0.jar 这个最好是1.0,我试了2.0报错 wsdl4j-1.6.1.jar 解析wsdl...
xfire-all-1.2.6.jar wsdl4j-1.5.1.jar spring-webmvc.jar spring-web.jar spring2.5.2.jar servlet-api.jar jdom.jar commons-logging1.0.4.jar
包括 commons-httpclient-3.0.jar commons-logging-1.0.4.jar jdom-1.0.jar spring-1.2.6.jar wsdl4j-1.6.1.jar xbean-spring-2.8.jar xfire-all-1.2.6.jar xfire-core-1.2.6.jar