728x90
dependency에서 exclusions에 해당 라이브러리 추가하기
웬만해서는 dependency가 충돌하는 일은 거의 없지만 종종 충돌이 발생할 수 있다.
이럴 경우
pom.xml에서 dependency를 추가하는 부분에 exclusions를 주면 해당 의존 라이브러리는 불러오지 않게 된다.
<dependency>
<groupId>net.jsign</groupId>
<artifactId>jsign-core</artifactId>
<version>4.0</version>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</exclusion>
</exclusions>
</dependency>
해당 라이브러리가 불러오는 의존성 라이브러리의 경우
에서 해당 라이브러리를 검색한 후 사용하는 버전을 선택하면 "Compile Dependencies" 란에서 확인할 수 있다.
사실 이 포스팅에는 슬픈 사연이 있다.
회사에서 사용하는 프로젝트를 조금 더 사용하기 쉽게 만드려고 수정 중이었다.
리눅스 가상 머신에 새로운 환경을 만들어 놓고 테스트까지 마친 후 정상적으로 돌아가는 것을 확인하고 윈도우에서 실제 프로젝트에 적용시키려고 했었다.
그런데...
bcprov-jdk15on가 jdk에 있는 bcprov-jdk16on과 충돌을 일으켜 수정을 하려는데 아무리 생각해도 이상했었다.
리눅스 가상 머신에서는 bcprov-jdk16on가 깔려있지 않았는데...
생각해보니 내가 지금보다 더 지식이 없을 때 jre/lib/ext에 다른 프로젝트에서 사용하는 암호화 모듈과 bcprov-jdk16on을 jre/lib/ext에 넣어놨던 기억이 났다.
그래도 정리해 두면 언젠간 쓸 일이 있을 것 같아 포스팅을 작성하였다.
728x90
'Java' 카테고리의 다른 글
[Java] char[]에서 byte[]로, byte[]에서 char[]로 변환하기 (0) | 2022.05.12 |
---|---|
[Java] Java 코드 실행시간 측정하기 (0) | 2021.11.12 |
[Java] 메서드 참조(Method Reference) (0) | 2021.05.21 |
[Java] javadoc 정리 (0) | 2021.05.04 |
[Java] 와일드 카드가 들어간 IP 검사하기! (0) | 2020.07.13 |