...
도움말 | ||
---|---|---|
| ||
Maven을 좀 안다고 자랑하려면 Maven Dependency Management에 대한 깊은 이해 및 문제해결 능력을 갖추고 있어야 합니다. 특히 dependency의 충돌 문제는 Maven을 사용하는 개발자들에게 정말 쉽지 않은 문제이므로 많이 사용하면서 충돌 문제를 해결하는 능력을 키우는 것이 중요합니다. |
Dependency의 속성 및 정의
Maven POM에 dependency를 추가할 때 다음과 같은 형식으로 추가합니다.
...
이 방법은 아주 간단합니다. JAR 파일의 패키지명을 변경하는 것입니다. Maven Shade Plugin을 사용하면 JAR 파일 내부의 패키지명을 변경할 수 있습니다. 예를 들면 com.demo
패키지의 클래스가 충돌이 발생하는 경우 이 패키지를 shade.com.demo
로 변경하여 아예 충돌이 발생하지 않도록 하는 방법입니다. 보통 이 단계까지 진행이 되면 가장 안좋은 상황으로 인지하면 되겠습니다.
참고
- Dependency Mediation(의존성 중재)를 통해 여러 가지 버전의 의존성 버전을 사용하는 경우 해결하는 방법을 알아봅니다.
- Dependency Management(의존성 관리)를 통해 Sub Module 들이 여러 버전의 동일 dependency를 사용하는 경우 일괄 동일 버전으로 적용하는 방법을 알아봅니다.