Spring-ws 1.5.9 hängt von Feder 2.5 ab (basierend auf dem Pom). Kann es mit Spring 3 verwendet werden, ohne dass Probleme mit dem Laden von Klassen auftreten? Ich weiß, dass einige der Pakete zwischen den beiden übereinstimmen, kann ich diese Frühlings-3-Gläser einfach nicht mit einschließen? Ich kann anscheinend kein offizielles Wort dazu finden.Kann Spring-WS 1.5 mit Feder 3 verwendet werden?
Antwort
Offiziell, nein, sie sind nicht kompatibel. Wie Sie gesagt haben, gibt es Paketkonflikte zwischen den beiden - org.springframework.oxm
insbesondere. Dieses Paket wurde von Frühling-WS in Frühling 3 gebracht, und die zwei werden zusammenstoßen.
Die Arbeit sollte auf Spring-WS 2.0 sofort nach der Veröffentlichung von Spring 3.0 abgeschlossen sein, aber das ist nicht passiert. Bis dahin ist Spring-WS mit der aktuellen Version von Spring Framework nicht kompatibel.
In der Praxis habe ich festgestellt, dass, wenn Sie die org.springframework.oxm
JAR aus der Feder 3 Distro weglassen, die beiden gut zusammen arbeiten. Wenn Sie Maven verwenden, bin ich mir nicht sicher, ob dies eine Option für Sie ist.
Neben skaffman Antwort, hier ist, wie Spring-WS 1.5.9 mit Feder 3 durch Maven verwenden:
1) Zuerst die OXM Abhängigkeit von Spring ausschließen 3. Sie einfach die folgende Abhängigkeit von Ihrem POM entfernen.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
</dependency>
Wenn Sie einen anderen Rahmen verwenden, die eine transitive Abhängigkeit von Feder 3 hat (wie Apache Camel Kamel-Feder Modul) verwenden:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
</exclusion>
</exclusions>
</dependency>
2) Entfernen Sie die transitive Abhängigkeit, dass der Frühling -WS 1.5.9 hat auf Frühling 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) Schließlich stellen Sie sicher, den notwendigen Feder 3 Module (die Liste oben enthalten) als abhängig Enties in Ihrem POM.
Jetzt sollten Sie Spring-WS 1.5.9 mit Spring 3.x verwenden können.