2010-07-22 3 views
8

Spring-ws 1.5.9는 Spring 2.5에 따라 다릅니다 (pom 기반). 클래스 로딩 문제없이 Spring 3에서 사용할 수 있습니까? 패키지 중 일부가 둘 사이에 일치한다는 것을 알고 있습니다. 스프링 3 병을 포함하지 않을 수 있습니까? 나는 이것에 대한 어떤 공식적인 단어라도 찾는 것처럼 보인다.Spring-WS 1.5를 Spring 3와 함께 사용할 수 있습니까?

답변

3

공식적으로 아니요, 호환되지 않습니다. 당신이 말했듯이, 두 사람 사이에 패키지 충돌이 있습니다 - 특히 org.springframework.oxm. 이 패키지는 Spring-WS에서 Spring 3으로 가져 왔고, 두 개는 충돌 할 것입니다.

스프링 3.0이 출시 된 직후에 작업은 스프링 -WS 2.0에서 완료된 것으로 가정되었지만, 이것은 일어나지 않았다. 그 때까지 Spring-WS는 Spring Framework의 현재 릴리스와 호환되지 않습니다.

실제로 Spring 3 배포판에서 org.springframework.oxm JAR을 생략하면 두 파일이 잘 작동 함을 발견했습니다. 비록 당신이 maven을 사용한다면, 이것이 당신을위한 옵션인지 확실하지 않습니다.

1) 먼저 봄 3의 OXM 의존성을 제외 그냥 POM에서 다음 종속성을 제거 :

7

는 skaffman의 대답뿐만 아니라, 여기에 메이븐을 통해 봄 3 봄-WS 1.5.9을 사용하는 방법은 다음과 같습니다.

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

사용 (아파치 낙타의 낙타 봄 모듈 같은) 봄 3에 이적 종속성이 다른 프레임 워크를 사용하는 경우 :

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

2)는 전이 의존성 봄을 제거 -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) 마지막으로 필요한 Spring 3 모듈 (위의 목록)을 depend POM에

이제 Spring-WS 1.5.9를 Spring 3.x와 함께 사용할 수있게되었습니다.

관련 문제