여러가지 Build Toole들이 있지만 업무상 Maven 3.6.x으로 작업하는 경우가 많아서 이에 대한 옵션을 정리하고자 한다.
(업무할 때에 참조하기 편하도록 정리하기로 했다.)
공식 Docs를 최대한 생활화 하자.
http://maven.apache.org/ref/3.6.3/maven-embedder/cli.html
(Maven 3.6.3 공식 페이지이지며, 버전은 알맞게 변경해서 확인해야한다.)
Maven 명령어 종류
compile -> 컴파일 수행
test -> 컴파일 수행 후 테스트 클래스 수행
package -> 컴파일을 수행하고 컴파일한 소스를 packaging 양식에 맞춰 프로젝트 내 지정한 경로 디렉토리에 생성
install -> package 한 것에 추가적으로 로컬 repository에 배포
deploy -> install 한 것에 추가적으로 원격 repository에 배포
clean -> maven build 시 생성된 모든 것들을 삭제
site -> target, site에 문서사이트 생성
Maven 옵션 종류
-am (--also-make) -> 프로젝트 목록이 지정된 경우 목록에 필요한 프로젝트도 빌드
-amd (--also-make-dependents) -> 프로젝트 목록이 지정된 경우 목록의 프로젝트에 의존하는 프로젝트도 빌드
-B (--batch-mode) -> 비 대화식(일괄처리)모드에서 실행
-b (--builder) -> 사용할 빌드 전략의 ID
-C (--strict-checksums) -> 체크섬이 일치하지 않으면 빌드 실패
-c (--lax-checksums) -> 체크섬이 일치하지 않으면 경고
-cpu (--check-plugin-updates) -> 비효율적이며 이전 버전과의 호환성을 위해서만 유지
-D (--define) -> 시스템 속성 정의
-e (--errors) -> 실행 오류 메시지 생성
-emp (--encrypt-master-password) -> 마스터 보안 비밀번호 암호화
-f (--file) -> 대체 POM(pom.xml이 있는 디렉토리)파일을 사용
-fae (--fail-at-end) -> 영향을 받지 않은 모든 빌드가 계속되도록 허용
-ff (--fail-fast) -> 원자로 빌드에서 처음 실패시 중지
-fn (--fail-never) -> 프로젝트 결과에 관계없이 빌드 실패 허용 X
-gs (--global-settings) -> 글로벌 설정 파일의 대체 경로
-gt (--global-toolchains) -> 글로벌 툴체인 파일의 대체 경로
-h (--help) -> 도움말 정보 표시
-l (--log-file) -> 모든 빌드 출력이 진행되는 로그 파일
-llr (--legacy-local-repository) -> remote.reopositories를 사용 X
-N (--non-recursive) -> 하위 프로젝트로 재귀 X
-npr (--no-plugin-registry) -> 비효율적이며 이전 버전과의 호환성을 위해서만 유지
-nou (--no-plugin-updates) -> 비효율적이며 이전 버전과의 호환성을 위해서만 유지
-nsu (--no-snapshot-updates) -> SNAPSHOT 업데이트 억제
-ntp (--no-transfer-progress) -> 다운로드 또는 업로드시 전송 진행률을 표시 X
-o (--offline) -> 오프라인으로 작업
-P (--activate-profiles) -> 활성화 할 쉼표로 구분된 프로파일 목록
-pl (--projects) -> 모든 프로젝트 대신 빌드 항 지정된 원자로 프로젝트의 목록입니다.
-q (--quiet) -> 조용한 출력-오류만 표시
-rf (--resume-from) -> 지정된 프로젝트에서 원자로 재개
-s (--settings) -> 사용자 설정 파일의 대체 경로
-t (--toolchains) -> 사용자 툴체인 파일의 대체 경로
-T (--threads) -> 스레드 수
-U (--update-snapshots) -> 원격 repository에서 누락된 릴리스 및 업데이트된 스냅샷을 검사합니다.
-up (--update-plugins) -> 비효율적이며 이전 버전과의 호환성을 위해서만 유지
-v (--version) -> 버전 정보 표시
-V (--show-version) -> 빌드를 중단하지 않고 버전 정보 표시
-X (--debug) -> 실행 디버그 출력 생성