개발
Maven dependency가 겹칠경우 본문
pom.xml
... <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> ... <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.5</version> </dependency> ...
commons-email은 javax.mail 1.5.6에 의존한다..(commons-email 열어보면있음)
<dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.5.6</version> </dependency>
현재 라이브러리의 상태
javax.mail 1.4.7과 sun.mail1.5.6은 MimeBodyPart에서 소스가 다른데, 실제 ServiceImpl에서 클래스파일 참조시에는 다음처럼 버전은 명시하지않음.
import javax.mail.internet.MimeBodyPart;
문제
- 프로젝트로 설치할 경우 1.4.7을 참조하는 프로젝트도있고 1.5.6을 참조하는 프로젝트도있다.
참고
https://stackoverflow.com/questions/35381533/maven-multiple-version-of-same-dependency
For Java it doesn't matter how many versions of a class you provide. The default classloader will just pick the first one on the classpath it can find.
→ commons-email은 사용하지 않으므로 의존성 정리 필요함.
'Java' 카테고리의 다른 글
ORACLE OPEN JPA에서 설정과 다른 schema의 db를 조회 (0) | 2022.01.09 |
---|---|
Stream (0) | 2021.03.14 |
Class 클래스 (0) | 2021.03.06 |
제네릭 기초 (0) | 2021.03.06 |
자주쓰는 날짜 관련 api 정리 (yyyyMMddHHmmss) (0) | 2021.02.23 |
Comments