2010-07-22 16 views
8

Spring-ws 1.5.9 depende de Spring 2.5 (basado en el pom). ¿Se puede usar con Spring 3 sin tener problemas de carga de clases? Sé que algunos de los paquetes coinciden entre los dos, ¿no puedo simplemente incluir esos frascos de Spring 3? No puedo encontrar ninguna palabra oficial sobre esto.¿Se puede usar Spring-WS 1.5 con Spring 3?

Respuesta

3

Oficialmente, no, no son compatibles. Como dijo, hay conflictos de paquetes entre los dos: org.springframework.oxm en particular. Este paquete fue llevado a Spring 3 desde Spring-WS, y los dos chocarán.

Se suponía que el trabajo debía completarse en Spring-WS 2.0 inmediatamente después de que se lanzara la versión 3.0 de Spring, pero esto no ha sucedido. Hasta que eso suceda, Spring-WS sigue siendo incompatible con la versión actual de Spring Framework.

En la práctica, he encontrado que si omite el org.springframework.oxm JAR de la distribución Spring 3, los dos funcionan bien juntos. Sin embargo, si usa maven, no estoy seguro de si esta es una opción para usted.

7

Además de la respuesta de skaffman, aquí es cómo utilizar Primavera-WS 1.5.9 con Spring 3 a Maven:

1) En primer lugar excluye la dependencia de la primavera OXM 3. Basta con retirar la siguiente dependencia de su POM.

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-oxm</artifactId> 
</dependency> 

Si se está utilizando otro marco que tiene una dependencia transitiva en la primavera 3 (como camello primavera de Apache Camel módulo) utilizar:

<dependency> 
<groupId>org.apache.camel</groupId> 
<artifactId>camel-spring</artifactId> 
<exclusions> 
    <exclusion> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-oxm</artifactId> 
    </exclusion> 
</exclusions> 
</dependency> 

2) Retire la dependencia transitiva que la primavera -WS 1.5.9 tiene en primavera 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) por último, asegúrese de incluir los módulos necesarios primavera 3 (la lista anterior) que dependen entra en tu POM.

Eso es todo, ahora debería poder usar Spring-WS 1.5.9 con Spring 3.x.

Cuestiones relacionadas