2014-05-15 4 views
0

스프링 3에 의존하는 라이브러리를 만들어야합니다.하지만이 라이브러리는 스프링 3을 사용하는 일부 프로젝트와 스프링 4를 사용하는 몇몇 새로운 프로젝트에서 동시에 사용됩니다. 내 라이브러리의 Spring 의존성과이를 사용하는 프로젝트의 의존성을 설정해야합니까?의존성이 더 많은 프로젝트에서 Maven 라이브러리 사용하기

나는 봄 3과 봄의 LIB의 두 개의 버전이 싶지 않아 4.

답변

2

Maven은 당신이 종속성의 원하는 버전을 선언 할 수 있다는 것을 의미 nearest definition의 개념을 가지고 당신의 POM을 사용하면 다른 종속성에 의해 과도하게 사용되는 다른 버전을 무시합니다.

그래서 새로운 프로젝트는 POM에 스프링 4 의존성을 선언해야합니다. groupId와 artifactId가 Spring 3과 4 (I believe they are) 사이에서 동일하다면, 새로운 프로젝트는 classpath에 Spring 4 클래스만을 가질 것이다.

그렇다면 스프링 4가 스프링 3과 하위 호환되기를 바랍니다. 그렇지 않으면 라이브러리에 런타임 문제가 발생할 수 있습니다. 아마도 Spring 4.0.0 backward compatibility을 참조하십시오.

0

하나의 옵션은 부모 pom.xml에 spring.version과 같은 속성을 정의하는 것입니다.

귀하의 도서관은 귀하의 필요에 따라 설정할 수있는이 도서관을 부모에게서 사용합니다.

Introduction to the Dependency Mechanism도 가져 가십시오. 종속성 관리도 좋은 옵션 일 수 있습니다.

관련 문제