8

Spring-ws 1.5.9 は Spring 2.5 に依存します (pom に基づく)。クラスローディングの問題に遭遇することなく、Spring 3 で使用できますか。一部のパッケージが 2 つの間で一致することはわかっていますが、それらの Spring 3 jar を含めないことはできますか? これに関する公式の言葉が見つからないようです。

4

2 に答える 2

7

skaffmanの回答に加えて、Spring-WS1.5.9をSpring3からMavenで使用する方法は次のとおりです。

1)最初にSpring3の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-WS1.5.9がSpring2.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)最後に、必要なSpring 3モジュール(上記のリスト)を依存関係としてPOMに含めるようにしてください。

これで、Spring-WS1.5.9をSpring3.xで使用できるようになります。

于 2010-10-31T15:33:57.023 に答える
3

正式には、いいえ、互換性がありません。org.springframework.oxmあなたが言ったように、特に2つの間にパッケージの競合があります。このパッケージは Spring-WS から Spring 3 に持ち込まれましたが、この 2 つが衝突します。

Spring 3.0 がリリースされた直後に Spring-WS 2.0 の作業が完了するはずでしたが、これは実現していません。それが実現するまで、Spring-WS は Spring Framework の現在のリリースと互換性がないままです。

実際にはorg.springframework.oxm、Spring 3 ディストリビューションから JAR を省略しても、2 つがうまく連携することがわかりました。ただし、maven を使用している場合、これがオプションであるかどうかはわかりません。

于 2010-07-22T20:54:28.760 に答える