Spring-ws 1.5.9取决于Spring 2.5(基于pom)。是否可以与Spring 3一起使用而不会遇到任何类加载问题。我知道有些软件包在两者之间匹配,我可以不包括那些Spring 3罐子吗?我似乎无法找到任何官方消息。
答案 0 :(得分:7)
除了skaffman的回答,这里是如何通过Maven使用Spring-WS 1.5.9和Spring 3:
1)首先排除Spring 3的OXM依赖性。只需从POM中删除以下依赖项。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
</dependency>
如果您正在使用另一个对Spring 3具有传递依赖性的框架(如Apache Camel的 camel-spring 模块),请使用:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
</exclusion>
</exclusions>
</dependency>
2)删除Spring-WS 1.5.9在Spring 2.5.6上的传递依赖:
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
<version>1.5.9</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-support</artifactId>
<version>1.5.9</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</exclusion>
</exclusions>
</dependency>
3)最后确保在POM中包含必要的Spring 3模块(上面的列表)作为依赖项。
这就是你现在应该能够在Spring 3.x中使用Spring-WS 1.5.9。
答案 1 :(得分:3)
正式,不,他们不兼容。就像你说的那样,两者之间存在包冲突 - 尤其是org.springframework.oxm
。这个包从Spring-WS进入Spring 3,两者将发生冲突。
应该在Spring 3.0发布后立即在Spring-WS 2.0上完成工作,但这并没有发生。在此之前,Spring-WS仍然与当前版本的Spring Framework不兼容。
在实践中,我发现如果你从Spring 3发行版中省略org.springframework.oxm
JAR,那么这两个工作正常。但是,如果您正在使用maven,我不确定这是否适合您。