ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA 프로젝트 -> Maven 변환기록
    개발환경 2018. 8. 14. 10:45


    정말 예전부터 하고 싶었던 일인데 마침 어제 삘(?)이 꽂혀서 오전부터 시작했다. 


    아! 왜 하고 싶었냐면 현재 반영절차가 


    가상서버 기동 신청 -> 방화벽 허용 신청 -> 가상 윈도우 머신 접속 -> svn update -> 빌드 -> ssh 를 이용한 ant 빌드 


    O.M.G! 


    귀찮다는 핑계와 리스크가 두려워서 방치했었는데 도저히 못참겠다. 

    이제 가상서버가 기동하기를 기다리고 싶지도 않고 ssh 사용으로 인한 방화벽 신청 절차도 너무 번거롭다. 

    하지만 배포를 자동화 하기위해서는 일단 maven 으로 전환하는게 먼저다! 


    이제 시작! 

    우선 기존 "Dynamic web project" 인 프로젝트에서 마우스 우클릭을 통해 maven 프로젝트로 변경 


    그럼 아래처럼 프로젝트 root 폴더에 pom.xml 생성된다


    아주 기본적인것만 생성된 상황! 이제 본격적인 고난의 시작이다. 

    이제 라이브러리 의존성 부터 시작 

    기존은 WEB-INF/lib 에 jar 파일을 넣어놓고 사용하는 형태였다.  

    우선 이클립스를 종료후  프로젝트 폴더 lib 에 있는 jar 파일을 모두 바탕화면의 특정폴더로 다 이동한다.  

    그리고 이클립스를 다시 열면 라이브러리가 없어서 에러가  와장창!!  


    이제 별도로 빼놨던 jar 파일을 보고 pom 에 하나씩 라이브러리를 추가하면서 모든 빨간불을 잡으면 끝!

    (말이 쉽지...  78개 jar 파일 에러 잡는데   4시간정도 걸렸다. ) 


    http://mvnrepository.com/ 대부분 중앙저장소에서 있는걸 사용하면되지만 

    이런 얘들은  중앙저장소에 없고 별도로 저장소를  추가해야지만 가능하니까 참고하자 


    또한 라이브러리 의존성 중복 참조 등으로 인해 오류가 생길수 있으니 exclude 를 잘해야한다. 

    ibatis 라이브러리가 common-logging  를 의존하여 예기치 않게 servlet-api 라이브러리가 2.2 로 사용되는 문제가 생겼었다. 

    그래거 위와 같이 의존에서 제거하여서 아래와 같이 원하는 3.0.1 라이브러리가 참조 되도록했다. 
    (이클립스 pom.xml 을 선택했을때 보이는 Dependency Hierarchy 화면이 매우 유용) 



    요렇게 한땀한땀해서 결국 maven 으로 빌드 성공. 

    (음.. 근데 실제 모든기능이 문제 없이 잘돌까? 두렵다.......)


    ' 싸늘하다 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지마라 손은 눈보다 빠르니까' 











    댓글

Designed by Tistory.