Maven 멀티모듈에서 -pl, -am, -amd, -rf로 필요한 모듈만 빌드하기
조회 1 · 댓글 0
멀티모듈(reactor) 프로젝트에서 모듈 하나만 고쳤는데 매번 전체를 빌드하면 느립니다. 이럴 때 특정 모듈만 골라 빌드하는 옵션이 -pl(--projects)입니다. 값은 콤마로 구분하고, 각 프로젝트는 groupId:artifactId 또는 상대 경로로 지정합니다. artifactId만 쓸 때는 콜론을 앞에 붙여 :artifactId 형태로 넣습니다.
# web 모듈과 그것이 의존하는 모듈까지 함께 빌드
mvn -pl :web -am install
# common 모듈에 의존하는 모듈들을 함께 빌드(영향받는 쪽 검증)
mvn -pl :common -amd test-am(--also-make)은 지정한 리스트가 의존하는 프로젝트를 함께 빌드하고, -amd(--also-make-dependents)는 반대로 리스트에 의존하는 프로젝트를 함께 빌드합니다. 공용 모듈을 바꿔 놓고 그걸 쓰는 쪽까지 한 번에 검증할 때 -amd가 편합니다.
reactor가 중간 모듈에서 실패했다면 처음부터 다시 돌릴 필요 없이 -rf(--resume-from)로 그 프로젝트부터 재개합니다. -rf는 리스트가 아니라 재개 지점 하나만 받는다는 점만 주의합니다.
# service 모듈부터 다시 이어서 빌드
mvn -rf :service install🔗 https://maven.apache.org/ref/current/maven-embedder/cli.html
🔗 https://maven.apache.org/guides/mini/guide-multiple-modules.html
로그인 후 답글을 남길 수 있습니다.