...
- Parent POM을 지정하면 POM을 상속받아서 dependency도 모두 따라옵니다.
- 만약 다른 프로젝트에서 해당 POM을 dependency로 추가하면 빌드시 모든 dependency를 다운로드합니다. → 오랜 시간이 소요됩니다.
- Parent POM의 자식 POM(module)은 모두 한꺼번에 빌드가 됩니다. → 만약 특정 Module이 수정되지 않는다면 버전 관리가 애매해집니다.
- 모두 한꺼번에 빌드가 되기 때문에 모든 module의 버전을 하나로 통일해서 관리하기는 매우 좋습니다.
- 단, 특정 모듈이 수정이 없는 경우 → 수정이 없음애도 버전을 올라갈 수 있는 여지가 있습니다.
책갈피 | ||||
---|---|---|---|---|
|
의존 관계의 한 dependency(=artifact)가 여러 버전이 있는 경우 Maven은 어떻게 버전을 선택할까요? 다음은 X를 의존하는 여러 개의 모듈이 있습니다. 이 경우 Maven은 depth를 고려하여 depth가 깊지 않은 것을 먼저 선택하므로 X 1.0을 선택합니다.
...
다음은 depth가 동일한 경우입니다. 이 경우는 먼저 선언한 것을 선택하므로 X 2.0을 선택하게 됩니다.
책갈피 | ||||
---|---|---|---|---|
|
동일 dependency의 버전 고정하기
동일 dependency를 사용하지만 Sub Module간의 버전이 다르다면? 다음의 도식을 살펴보겠습니다.
...