mvn 새로 설치 대 배포 대 릴리스


132

나는 단지 maven을 배우고 있으며 최근에는 점점 더 많이 갈 필요가있었습니다. 나는 차이점을 알고 싶다

mvn clean install

mvn release

mvn deploy

가능한 한 설명해주세요.

답변:


223

clean, installdeploy 단계는 유효 수명주기 단계 그들 모두 그 이전의 단계,이 단계에 바인딩 목표를 트리거 호출.

mvn 새로 설치

이 명령은 clean단계를 호출 한 다음 install단계를 순차적으로 호출합니다 .

  • clean: 프로젝트 디렉토리에서 빌드시 생성 된 파일을 제거합니다 ( target기본적으로).
  • install: 패키지를 로컬 저장소에 설치하여 로컬로 다른 프로젝트의 종속성으로 사용합니다 .

mvn deploy

이 명령은 deploy단계를 호출합니다 .

  • deploy: 다른 개발자 및 프로젝트와 공유 하기 위해 최종 패키지를 원격 저장소에 복사합니다 .

mvn 릴리스

이것은 유효한 단계 나 목표가 아니므로 아무 것도하지 않습니다. 그러나 if는 릴리스 관리를 자동화하는 데 사용되는 Maven Release Plugin 을 나타냅니다 . 해제 프로젝트는 두 단계로 이루어집니다 : prepareperform. 문서화 한대로 :

릴리스 준비는 다음 릴리스 단계를 거칩니다.

  • 소스에 커밋되지 않은 변경 사항이 없는지 확인
  • SNAPSHOT 종속성이 없는지 확인하십시오.
  • POM의 버전을 x-SNAPSHOT에서 새 버전으로 변경하십시오 (사용할 버전을 묻는 메시지가 표시됨)
  • 태그의 최종 대상을 포함하도록 POM에서 SCM 정보를 변환하십시오.
  • 수정 된 POM에 대해 프로젝트 테스트를 실행하여 모든 것이 제대로 작동하는지 확인하십시오.
  • 수정 된 POM 커밋
  • 버전 이름으로 SCM의 코드에 태그를 지정하십시오 (프롬프트가 표시됨).
  • POM의 버전을 새로운 값 y-SNAPSHOT으로 범프하십시오 (이 값들도 프롬프트됩니다)
  • 수정 된 POM 커밋

그리고:

릴리스를 수행하면 다음 릴리스 단계가 실행됩니다.

  • 선택적 태그를 사용하여 SCM URL에서 체크 아웃
  • 사전 정의 된 Maven 목표를 실행하여 프로젝트를 릴리스하십시오 (기본적으로 사이트 배치 배치).

또한보십시오


1
이것을 명확히 할 수 있습니까? 이것은 유효한 단계도 아니고 목표도 아니므로 아무 것도하지 않습니다. 그러나 Maven Release Plugin을 언급하는 경우. 그것이 단계 나 목표가 아니라면 어떻게 부를까요?
gvlasov 2016 년

26
  • mvn install패키지 된 maven 프로젝트를 로컬 저장소에 배치하여 프로젝트를 종속성으로 사용하는 로컬 응용 프로그램을 만듭니다.
  • mvn release 기본적으로 현재 코드를 SCM의 태그에 넣고 프로젝트에서 버전을 변경합니다.
  • mvn deploy패키지 된 maven 프로젝트를 다른 개발자와 공유하기 위해 원격 저장소에 넣습니다 .

자료 :

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.