2014-05-20 2 views
0

현재 프로젝트는 상위 pom 파일과 몇 개의 종속 프로젝트로 구성됩니다. 부모의 치어에서 나는 봄에서이 라이브러리를 지정종속성. 부모의 lib 버전 변경

다른 사람에 대한 모든 기본 클래스를 포함 모든 서브 모듈에 포함 된 프로젝트 A를이
<properties> 
<spring.framework.version>3.2.4.RELEASE</spring.framework.version> 
</properties> 

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jdbc</artifactId> 
    <version>${spring.framework.version}</version> 
</dependency> 

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-aop</artifactId> 
    <version>${spring.framework.version}</version> 
</dependency> 

. 부모의 POM에 정의 된 스프링 버전을 사용합니다. 프로젝트 B에서

<dependency> 
<groupId>org.springframework</groupId> 
<artifactId>spring-jdbc</artifactId> 
</dependency> 
<dependency> 
<groupId>org.springframework</groupId> 
<artifactId>spring-aop</artifactId> 
</dependency> 

내가 프로젝트 A를에 대한 참조를 가지고,하지만 난이 라이브러리의 3.1.O.RELEASE을 사용하고 싶습니다.

나는 이러한 라이브러리를 제외하고 프로젝트의 B POM 파일에 특정 버전을 넣으려고했지만 작동하지 않았다. 나는 여전히 3.2.4.RELEASE 버전을 가지고있다.

어떤 생각을 어떻게 해결할 수 있습니까?

감사합니다. 프로젝트 B에 대한 POM에서 명시 적으로

+0

을 당신이 그 라이브러리를 제외 그래서 후, 당신은 MVN 의존성을 실행할 수 있습니다 프로젝트 B에 나무를 누가 전 이적 3.2.4.Release 버전을 가져오고있다 참조? – Ashish

답변

0

그냥 정확한 당신의 라이브러리 버전 :

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jdbc</artifactId> 
    <version>3.1.O.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-aop</artifactId> 
    <version>3.1.O.RELEASE</version> 
</dependency> 

그것은 어떤 전이 의존성 버전보다 우선합니다. 많은 유물이 있으므로 정확한 모든 유물을 확인하십시오. 가장 좋은 방법은 spring.framework.version 속성을 사용하여 parent의 dependencyManagement에 모든 Spring deps를 포함시키는 것입니다. 그런 다음 프로젝트 B에 올바른 버전이 속성을 재정의 :

<properties> 
    <spring.framework.version>3.1.O.RELEASE</spring.framework.version> 
</properties> 
+0

* 정확하게 * 일부 버전이 필요하다면이 정도면 충분하지 않으므로'012.30.B. 자세한 내용은 [종속 버전 범위] (http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-project-dependencies.html)를 참조하십시오. – eis

+0

실제로는 효과가 있었지만 작은 수정이있었습니다. 나는 모든 전이 의존성을 pom (스프링 - 콩, 스프링 - 코어 등)에 넣어야 만했다. – 2gether

관련 문제