multi maven 빌드 & 세팅

 

- import

 

 

parent-project
- child1
- child2
>>> SVN 이나 GIT 에서 다운 받았을때 로컬 세팅 시 순서
* 이클립스 내에서 메이븐 멀티모듈을 구성할때 package explore에서 하위 모듈이 프로젝트 형태로 보이게 하려면
* 하위 모듈내에 .project 파일을 생성해줘야 한다.
1. SVN으로 부터 다운 받는다
2. 하위 프로젝트인 "child1" 폴더에서 오른쪽 마우스에서 Import...를 선택
3. Select 창에서 General 폴더밑의 Existing Projects into Workspace 를 선택 후 Next 버튼클릭
4. Select root directory 에서 Browse..버튼클릭후 multiModules 폴더 밑의 "child1" 폴더를 선택 하고 Finish 버튼 클릭

5. 나머지 하위 프로젝트 폴더들도 1-4과정 동일하게 반복하여 설정 완료 한다.

 

참조링크 : http://blog.naver.com/PostView.nhn?blogId=choigohot&logNo=40188252806

 

- 빌드

 

--projects 빌드할 프로젝트명-am clean package -P profile 정보

 

 

* profile

-pl,--projects <arg> Build specified reactor projects instead of all projects

Multi-Project 구조에서 모든 프로젝트가 아닌 특정 프로젝트를 대상으로 mvn 을 수행하고 싶을 경우 ‘-pl’ 옵션을 사용하면 된다.

 

-am,--also-makeIf project list is specified, also build projects required by the list

‘-am’ 옵션은 ‘-pl’ 에 명시한 프로젝트를 참조하는 프로젝트 들도 같이 빌드 한다.

 

-amd,--also-make-dependentsIf project list is specified, also build projects that depend on projects on the list

‘-amd’ 옵션은 ‘-pl’ 에 명시한 프로젝트가 참조하고 있는 프로젝트 들을 같이 빌드 한다.

 

-B,--batch-modeRun in non-interactive (batch) mode

‘-B’ 옵션은 비-대화형 모드로 mvn 실행 중 대화형 입력 모드가 나오면 기본값으로 처리하고 넘어가도록 해준다.

예를 들어, A -> B -> C-> D-> E 와 같이 참조하고있는 프로젝트 에서

  • ‘-pl C -am’ 인 경우 C-D-E 프로젝트가 빌드
  • ‘-pl C -amd’ 인 경우 A-B-C 프로젝트가 빌드

https://bestna.wordpress.com/2014/11/12/maven-maven-options%E2%80%8A-%E2%80%8Apl-am-amd-b/

 

 

- maven multi module 구성

multi module로 구성이 되어있지 않은 경우는 hierarchy를 직접 관리 해줘야 했다.. (repository에 직접 배포하고... 등등)

maven multi module을 구성해놓으면, maven 이 알아서 복잡한 설정을 관리

1. 최상단 pom에 구성되어야 하는 module 넣어주기

2. 빌드할때는 repo를 보지않고,  부모 빌드할때 그 jar를 자식에게 넣어준다

3. am 리액트 옵션을 사용해 명시한 프로젝트를 참조하는 프로젝트 들도 같이 빌드 할 수있다.(참조관계는 maven goal 이 알아서)

+ Recent posts