메이븐 프로젝트 구조에 대한 고찰...
JAVA/Maven / 2011. 1. 3. 19:02
요즘 회사의 기존 프로젝트를 메이븐으로 전환하면서 이런 구조로 프로젝트를 구성하면 좋겠다는 생각이 들어 포스팅을 하게 되었습니다.
erp 의 HR 을 구성하는 2종류가 있다고 가정하고 2개의 메이븐 프로젝트를 생성합니다.
ㅁ vicki-erp-hr-model
>> HR 모듈의 model 프로젝트
ㅁ vicki-erp-hr-service
>> HR 모듈의 service 프로젝트
이러한 경우 HR 을 구성하는 모듈끼리 분리가 되어 있어 모듈에 대한 전체적인 이해가 어려울 수 있습니다.
그래서 대부분의 오픈 소스 프로젝트의 경우 연관있는 모듈의 상위 프로젝트를 pom 프로젝트로 생성하여 자바프로젝트의 classpath를 지정하여 하나의 모듈처럼 처리할 수 있는 구조로 구성되어 있는 것을 많이 볼 수 있었습니다.
vicki-erp-hr 이라는 자바 프로젝트에 메이븐 POM 프로젝트를 적용하여 vicki-erp-hr-model 과 vicki-erp-hr-service 를 하위 모
듈로 구성시키고 클래스 패스를 지정하면 아래와 같은 구조의 프로젝트로 작업이 가능하게 됩니다.
이 구조를 조금더 확장시킨다면 MM 모듈 프로젝트 2개를 하나로 묶고
+
=
HR 과 MM 을 묶어서 하나의 프로젝트로 구성한다면 전체적인 프로젝트를 이해할 수 있는 시점에서도 파악할 수 있는 구조가 되는 것 입니다.
구성하는 사람은 클래스패스 잡을 때 쫌 귀찮긴 하더라도 상당한 장점이 많을 것으로 생각됩니다.