2010-07-22 10 views
8

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

3

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.

7

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.