maven빌드시 개발/운영 환경에 따른 library 선택 복사
- 작성자 :
- 장*선
- 작성일 :
- 2017-07-11 22:46:47
- 조회수 :
- 1,621
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
개발/운영 환경에 따라 참조하는 library가 다릅니다.
패키지 및 메소드 명은 동일 하지만 내용이 다릅니다.
이럴경우 어떻게 해야 할까요?
config.xml파일이나 ~.properties라면 profile을 이용하여 빌드시 환경에 따라 빌드 할 수 있겠지만
참조하는 library(~.jar)가 다른것을 참조해야 하니 난감합니다.
메이븐 빌드시 WEB-INF/lib 안에 library 복사시 혹은 복사 후 jar를 교체 하면 될 것 같은데 잘 안되네요..
혹 방법 아시는 분 게실까요?
패키지 및 메소드 명은 동일 하지만 내용이 다릅니다.
이럴경우 어떻게 해야 할까요?
config.xml파일이나 ~.properties라면 profile을 이용하여 빌드시 환경에 따라 빌드 할 수 있겠지만
참조하는 library(~.jar)가 다른것을 참조해야 하니 난감합니다.
메이븐 빌드시 WEB-INF/lib 안에 library 복사시 혹은 복사 후 jar를 교체 하면 될 것 같은데 잘 안되네요..
혹 방법 아시는 분 게실까요?
A
안녕하세요.
maven dependency의 scope을 사용하시는 방법이 있을 듯 합니다.
pom.xml에서 해당 jar에 scope을 provided로 주시면 install시 해당 jar를 포함 시키지 않습니다.
(war 빌드시 포함하지 않을 뿐 로컬 테스트에서는 사용됩니다.)
그리고 운영에서 사용할 jar(동일 이름 및 API)를 WEB-INF/lib에 넣어 주시면 됩니다.
즉, 정리하면 war빌드시 maven dependency가 걸려있는 jar를 포함시키지 않지만,
WEB-INF/lib에 있는 파일은 포함하여 war 를 만들게 됩니다.
감사합니다.
maven dependency의 scope을 사용하시는 방법이 있을 듯 합니다.
pom.xml에서 해당 jar에 scope을 provided로 주시면 install시 해당 jar를 포함 시키지 않습니다.
(war 빌드시 포함하지 않을 뿐 로컬 테스트에서는 사용됩니다.)
그리고 운영에서 사용할 jar(동일 이름 및 API)를 WEB-INF/lib에 넣어 주시면 됩니다.
즉, 정리하면 war빌드시 maven dependency가 걸려있는 jar를 포함시키지 않지만,
WEB-INF/lib에 있는 파일은 포함하여 war 를 만들게 됩니다.
감사합니다.