2011-09-23 4 views

답변

18

mvn:install은 로컬 저장소 (기본적으로 ~/.m2/repository)에 패키지 된 Maven 모듈을 복사하여 다른 로컬 Maven 빌드에서 액세스 할 수 있습니다.

mvn:deploy은 패키지 된 Maven 모듈을 다른 (일반적으로 원격) 저장소에 업로드하고 다른 Maven 빌드가 아닌 다른 곳에서 액세스 할 수 있도록합니다.

자세한 내용은 documentation for the build lifecycle을 참조하십시오.

1

mvn:deploy은 원격 저장소/환경에 배포를 수행하며, 컴파일 된 모든 패키지를 로컬 저장소에 설치하여 로컬 시스템에서 수행되는 다른 빌드에서도 사용할 수있게합니다.

+0

"모든 컴파일 된 패키지"는 무엇을 의미합니까? – Daniel

+0

@Daniel, pom, jar, war, javadoc jar, 소스 jar 이전 빌드 단계에서 컴파일되거나 어셈블 된 모든 항목. –

0

한 문장으로 : mvn:install은 로컬 Maven 저장소에 구성 요소를 컴파일하고 설치하므로 로컬에서 사용 및 개발 된 다른 구성 요소가 로컬 Maven 저장소에 종속되어있을 때 사용할 수 있습니다. mvn:deploy은 (이전에 설치 한) 구성 요소를 원격 저장소에 배포합니다.

+0

배포하기 전에 _ 모듈을 _ 설치해야합니까? – Daniel

+0

Maven의 기본 수명주기에는 그 내용이 포함되어 있다고 생각합니다. 그리고 배포 만하는 경우 배포해야 할 항목은 무엇입니까? http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html의 설명서를 참조하십시오. 빌드 위상을 호출하면 빌드 단계뿐 아니라 호출 된 빌드 단계 이전의 모든 빌드 단계도 실행되기 때문입니다. – mliebelt

+0

포장 된 이슈. – Daniel

2

install 단계는 로컬 리포지토리에 아티팩트를 설치하는 단계입니다. 이것은 기본적으로 Maven 저장소에 적용되지만, 잘 알려진 예제는 maven-bundle-plugin으로 지원되는 OSGi 번들 저장소입니다.

deploy 단계는 리포지토리에 아티팩트를 설치하는 단계입니다. 이것은 보통 원격 저장소에 적용되지만 외부 세계에 노출 된 로컬 저장소 일 수 있습니다.

모든 Maven 단계에서 원하는대로 할 수 있습니다. 플러그인 위상은 적절하게 섞을 수 있지만 위의 의미는 기존의 의미이며 다른 플러그인의 목표의 기본 단계와 일관성을 유지하려면이를 고수해야합니다.