繁体   English   中英

Spring-WS 1.5可以和Spring 3一起使用吗?

[英]Can Spring-WS 1.5 be used with Spring 3?

Spring-ws 1.5.9取决于Spring 2.5(基于pom)。 是否可以与Spring 3一起使用而不会遇到任何类加载问题。 我知道有些软件包在两者之间匹配,我可以不包括那些Spring 3罐子吗? 我似乎无法找到任何官方消息。

除了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。

正式,不,他们不兼容。 就像你说的那样,两者之间存在包冲突 - 特别是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,我不确定这是否适合您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM