[쉽게 따라하는 자바 웹 개발] AS 1. 메이븐 관련 이슈 정리

(전체 화면에 720hd 화질 선택하시면 코드까지 잘 보이실 겁니다.)

첫번째 애프터 서비스로 프로젝트 import시 발생하는 메이븐 관련 이슈 원인과 그 해결책을 설명한 동영상을 올렸습니다.

먼저, 메이븐 의존성을 제대로 못가져오는 문제인데요. 이 문제로 두분이 봄싹 그룹스에 질문을 올려주셨습니다.

jkee님: https://groups.google.com/forum/?fromgroups=#!topic/springsprout/KMkA8iGUtkQ

chicken-hit님: https://groups.google.com/forum/?fromgroups=#!topic/springsprout/EmBvNPe3nUY

이 두분은 프로젝트를 import 하고나서 메이븐 프로젝트를 빌드하는 과정 중에 Update Maven Dependencies라는 과정이 있는데.. 그 때 필요한 의존성을 받아오다가.. 네트워크 상황이 안좋거나, 메이븐 중앙 저장소가 바쁘거나해서.. 필요로하는 의존성을 못가져온 경우입니다.

이때 의존성을 못가져오는 경우가 두가지가 있는데..

  • 완전히 jar 파일 자체를 못가져온 경우.
  • 또는 jar파일을 가져오다가 중간에 멈춘 경우.

첫 번째 경우라면 메이븐 의존성을 다시 업데이트 하도록 Maven -> Project Update(이전에는 Update Dependencies라는 메뉴가 있었는데 이걸로 대체되었나봅니다.)를 실행하면 받아오실 수 있는데요. 두번째 경우라면 그렇게 해도 다시 받아오지 않을수 있습니다. 따라서 그럴 떄는 로컬 메이븐 저장소(보통 유저 홈디렉토리/.m2/repository)에서 해당 의존성 디렉토리를 삭제하시고 다시 프로젝트 업데이트나 아에 프로젝트를 삭제하고 추가하면 메이븐 의존성을 제대로 받아올 수 있습니다만.. 백프로 확신을 못하는거죠. 그때 다시 받아올 때 또다시 네트워크 상황이 좋치 않거나, 메이븐 중앙 저장소가 바쁘면.. 같은 일이 재발할 수 있습니다.

그래서 최후의 수단으로는 로컬 메이븐 저장소에 직접 JAR 파일들을 경로에 맞춰서 넣어주시는건데요. 그건 방금 제 로컬 저장소를 압축한 repository.zip 파일을 받아서 여러분의 로컬 저장소에 덮어써 주시는 겁니다.

http://whiteship.me/book/repository.zip

이 파일을 받으셔서 여러분의 홈 디렉토리/.m2/repository에 복사해 넣으신 다음에 프로젝트 import를 다시 해보세요. 그럼 메이븐 관련 문제는 잘 해결될 겁니다.

신순웅님: https://groups.google.com/forum/?fromgroups=#!topic/springsprout/QrvoPfpE7pM

신숭웅님의 이슈는 처음에 제가 잘못보고 이것도 메이븐 의존성 관련 이슈인줄로 착각했습니다. 그런데 다시 로그를 보니까 이건 메이븐 의존성 문제가 아니라 메이븐 빌드를 실행할때 실행할 goal을 아무것도 적지 않았을 때 발생하는 로그였습니다.

그래서 이건 이슈가 아니라.. 지금 뭔가 빌드를 잘못실행하고 계신걸로 추정이되고요. 무얼 하셨을 때.. 제 책의 어느 부분을 따라하고 계실때 발생한 에러인지 조금 더 전후 상황 정보가 필요한 상황입니다.

어쨌든 지금 저 로그는 제가 방금 동영상에서도 설명드렸지만, 메이블 빌드를 아무런 goal없이 실행할 때 발생하는 로그로… 문제 상황은 아니고, 단순히 메이븐 빌드를 잘못 사용하고 계신걸로 추정됩니다.

부디 제 책을 읽고 계신분들이 무사히 제 책을 즈려밟고 올라서시기를 기원하며 그럼 이것으로 첫번째 애프터 서비스를 마치겠습니다.

제 책을 보시다가 궁금하시거나 개선하면 좋을 부분들은 계속해서 봄싹 그룹스에 의견을 남겨주시면 저 말고도 다른 분들의 의견이나 도움도 받으실 수 있으니까요. 어려워 마시고 편하게 글 남겨주세요.

감사합니다.