반응형
[Maven] maven-shade-plugin 의존관계설정
출처 : http://javacan.tistory.com/entry/mavenshadeplugin
[Desc]
만약에 [1]번 프로젝트에 내가 만든 [2]번 프로젝트가 lib(jar)형식으로 들어가서 사용 될때
내가만든 [2]프로젝트에는 httpclient 2를 사용하였고 [1]번프로젝트에는 httpclient4 를 사용했을 경우
라이브러리가 중복이되어 [2]번플젝에서 httpclient4 버젼을 사용하다가 에러가 발생할수가 있습니다.
이럴 경우 [2]번 플젝에서 jar로 빌드시에 중복안되고 독립적으로 httpclient2버젼을 사용할 수 있도록
패키지명을 변경을 한다고 생각하시면 됩니다.
org.apache.commons.httpclient 원래 패키지명을 custom.org.apache.commons.httpclient 이렇게 변경을해줌으로써
[2]번플젝에서는 httpclient2번을 사용할때 custom.org.apache.commons.httpclient 를 사용하도록 해줌으로써
[1]번플젝은 org.apache.commons.httpclient을 그대로 사용하고 [2]번플젝은
custom.org.apache.commons.httpclient 이걸 사용하도록 하는 것입니다.
[설정]
org.apache.maven.plugins maven-shade-plugin 3.1.0 package shade false ${project.build.directory}/${project.artifactId}-with-common-${project.version}.jar false true //포함설정 //제외설정 commons-httpclient:commons-httpclient commons-logging:commons-logging commons-lang:commons-lang log4j:log4j //패키지명이 아래와 같을때 변경할 패키지명 org.apache.commons.logging madvirus.relocated.commons.logging org.apache.commons.httpclient madvirus.relocated.commons.httpclient
반응형
'Framework & ORM > Build Tools' 카테고리의 다른 글
[Maven, Gradle] ojdbc6 설정 (2) | 2018.01.18 |
---|---|
[Maven] profile 이용하기 (0) | 2018.01.11 |
Maven, Gradle Nexus서버 설정 (0) | 2018.01.11 |