티스토리 뷰

안녕하세요. 박스여우입니다. 요즘 일도 그렇고 프로젝트도 그렇고 Maven을 사용할 일이 잦은 것 같습니다. 이번 포스팅은 현재 진행 중인 프로젝트로 인해 필요한 부분인데요, 팀 프로젝트이다 보니 라이브러리 경로에 관련돼서 문제가 발생하고 하나의 프로젝트를 여러 명이어서 다루다 보니 조금 불편하더군요..


그래서! Maven을 통해 이를 해결하고자 합니다. 이번 포스팅에서는 Maven의 다중 모듈을 구성하고 라이브러리를 관리하도록 해보겠습니다! 우선 Maven 프로젝트를 구성하기 전에 이전 포스팅 에서 Maven을 설치해야 합니다. Maven 설치를 마쳤다면 가볍게 넘어가 주시면 됩니다.



다중 모듈 Maven Project!

이번 포스팅은 이클립스를 기반으로 진행하도록 하겠습니다. (사실 Maven 프로젝트에 있어선 InteiliJ가 한 수 위인 것 같지만, 같이 프로젝트를 진행하는 팀원이 이클립스만 사용해서..)


다중 모듈 프로젝트를 구성하기 위해선 하위 모듈들을 다룰 수 있는 상위 모듈이 필요합니다. Project 생성 Dialog에서 Maven - MavenProject 를 선택해 Maven Project를 생성하도록 하겠습니다.


그 뒤에 Create a simple project (skip archetype selection) 을 체크해 주시고 Next를 클릭해서 다음 단계로 넘어갑니다.


그다음으로 위의 사진처럼 몇몇 정보를 입력해야 하는 창이 나오는데, Group id, Artifact id, Version, Name Description을 입력해 주시고 Packaging을 POM으로 선택해 줍시다. 하위 모듈을 포함하는 최상위 모듈이기 때문에 Packaging은 반드시 POM이어야 합니다!


Finish를 눌러주시면 위처럼 프로젝트가 생성됩니다. 여기서 src폴더는 필요가 없으니 삭제해 주도록 합시다.


그다음으로는 하위 모듈 프로젝트를 생성하는 과정입니다. 위에서 생성한 최상위 프로젝트를 우클릭하여 New-?Other-Maven-Maven Module을 선택해 주세요


그러면 위처럼 Maven Module을 생성하는 Dialog가 뜨게 됩니다. 여기서는 Module Name만 입력하시고 Next로 넘어가 주세요. 만약 Parent Project가 비어있다면 Browse를 통해 위에서 생성한 최상위 프로젝트를 선택해 주시면 됩니다.


다음 단계로 넘어가시면 위처럼 Maven Module의 Archetype을 선택하는 창이 뜨게 됩니다. 저는 quickstrat를 선택하고 그냥 넘어가도록 하겠습니다.

그다음 위처럼 정보를 입력하는 단계로 넘어갑니다. Group id, Version, package를 입력한 뒤 Finish를 눌러주세요!


그럼 저처럼 하위 모듈 폴더가 생성되고 프로젝트의 POM에 modules가 추가된 모습을 보실 수 있습니다! 만약 보이지 않으신다면 잘못 진행한듯하오니 처음부터 다시 시도해보세요..ㅠㅠ


이제 구성이 완료되었으니 프로젝트를 한번 실행해봐야겠죠? 프로젝트를 우클릭하셔서 Run as > Maven Build를 선택하시거나 Alt + Shift + x를 누르신 뒤 m을 누르시면 위의 Maven 프로젝트를 빌드하는 창이 나옵니다.


그럼 Goals에 clean과 package를 입력하시고 Run을 눌러 build 해 주시면 됩니다! (Goal에 대한 개념이 필요하시다면? 여기로!) 이전에 build 했던 것들을 clean 시키고 package 단계까지 진행한다는 설정입니다.


일반적이라면 성공적으로 build가 성공합니다만은.. 저처럼 설정이 이상한 사람들은 "No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?" 라는 오류 메세지가 뜨며 build에 실패합니다.. 이 사태를 얼른 해결해 보도록 하겠습니다.


Window > Preferences 를 선택하셔서 eclipse의 설정창을 열어주도록 하겠습니다.


그 뒤에 Java > Installed JREs를 선택하셔서 JRE를 변경해 주도록 하겠습니다. 저 같은 경우는 JRE가 설정되어 있군요..


Add를 통해 JDK 경로를 설정해 주고 OK! 그 다음 다시 build를 시도하면?!


BUILD SUCCESS가 출력됩니다!


라이브러리 설정

이제 프로젝트를 사용할 준비가 되었으니 사용할 라이브러리를 설정해보도록 하겠습니다! 지난 포스팅에서 설명했듯이 Maven은 필요한 라이브러리를 자동으로 다운로드 받아주고 관리해줍니다! 바로 pom.xml을 이용해서 말이죠! POM에서 사용할 수 있는 기능은 다양하지만 이번 포스팅에서는 dependency를 통해 라이브러리를 관리하는 것만 해보도록 하겠습니다.


https://mvnrepository.com/ 여기에 가셔서 사용하고자 하시는 라이브러리를 찾으실 수 있습니다.


저는 시험 삼아 JSON simple을 등록해 보도록 하겠습니다. 사진 아래에 빨간 박스로 표시된 dependency가 우리가 사용해야 할 코드입니다. 저 텍스트를 복사한 뒤에 Maven의 POM으로 돌아가도록 합시다.


저는 하위모듈은 DSM-Core에 해당 라이브러리 의존성을 추가하도록 하겠습니다. 위의 사진처럼 dependencies 구역 내에 삽입해 주시면 됩니다!? 이제 DSM-Core 모듈에서 JSON simple 라이브러리를 사용할 수 있습니다!


Maven이 설치만 되어 있다면 자동으로 라이브러리를 다운 받아주기 때문에 팀 프로젝트를 진행할 때 라이브러리 경로 때문에 고통받지 않아도 됩니다!



마무리

단순히 eclipse를 이용하여 프로젝트를 구성하는 방법만 나열해서 포스팅이 난해한 감이 있는 것 같습니다.. 아무튼 다중 모듈 프로젝트 구성에 성공했으니 이제 즐겁게 프로젝트를 진행하도록 하겠습니다!

댓글
댓글쓰기 폼
Total
354,596
Today
15
Yesterday
658
링크
«   2019/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함