본문 바로가기

공부/Maven

[서적 핵심 정리] Maven 모듈

상속 (inheritance)

  • 메이븐에서 모든 POM 파일은 최상위 POM을 상속받음
  • 메이븐 상속 기능을 사용하기 위해서는 부모 POM 파일의 <packaging> 엘리먼트의 값을 pom으로 설정

집합 (aggregation)
  • 일반적으로 프로젝트가 커지면 여러 개의 프로젝트로 분리하나, 각 프로젝트 사이의 공통 모듈이 존재하므로, 메이븐을 사용 시 이러한 방식보다는 프로젝트를 여러 개의 모듈로 분리하는 것이 좋음
  • 하나의 프로젝트에 있는 여러 개의 모듈을 빌드할 때, 같은 단위로 빌드할 수 있도록 지원하는 기능
  • <modules> 엘리먼트로 설정


의존 관계 (dependency)

  • 모듈 사이 의존관계가 발생시 설정
  • 라이브러리 등록과 동일한 방식으로 설정 (<dependencies>)

dependency 플러그인의 copy-dependencies 골
  • 특정 디렉토리에 배포된 파일을 복사할 수 있음
  • 일반 자바 프로그램을 jar 파일로 생성한 후, lib 디렉토리 등에 배포하는데 유용함

jar 배포시 진입 클래스 설정하는 법
  • <configuration> / <archeve> / <manifest> / <mainClass> 에 실행할 클래스 명 설정



출처: 자바 세상의 빌드를 이끄는 메이븐 (박재성 저)