mavn에서 mvn가 정확히 무엇을 설치합니까?


답변:


124

아시다시피 Maven은 Apache에서 제공하는 빌드 자동화 도구로 종속성 관리 이상의 기능을 수행합니다. 필요한 모든 종속성을 다운로드하는 Ant 및 Makefile의 피어로 만들 수 있습니다.

켜짐 mvn install, 그것은 프로젝트 구성에 따라 종속성 나무 프레임 pom.xml의 모든 서브 슈퍼에서 프로젝트 pom.xml(루트 POM) 및 다운로드 /라는 디렉토리에 필요한 모든 구성 요소를 컴파일 .m2사용자의 폴더 아래에. 이러한 종속성은 오류없이 프로젝트를 빌드하기 위해 해결되어야하며 mvn install대부분의 종속성을 다운로드 할 수있는 유틸리티 중 하나입니다.

또한 Maven에는 다른 특정 유틸리티와 dependency:resolve별도로 사용할 수있는 다른 유틸리티 가 있습니다. mvn의 빌드 수명주기는 다음과 같습니다. LifeCycle Bindings

  1. process-resources
  2. compile
  3. process-test-resources
  4. test-compile
  5. test
  6. package
  7. install
  8. deploy

이 mvn의 테스트 단계는 플래그를 사용하여 무시할 수 있습니다 -DskipTests=true.


9
모든 시험 관련 목표를 건너 뛰려면 그냥 보조 노트는 사용 : -Dmaven.test.skip은 (대신 -DskipTests = 사실의) 진정한 =
마노 쉬 레스타에게

이 답변은 설치 명령이 궁극적으로 명확히하지 설치 로컬 저장소에서, 로컬 이슈를.
PeriChandra

34

Maven 설치 플러그인 문서 와 같은 Maven 문서를 보셨습니까 ?

간단히 말해 : 프로젝트를 빌드하고 로컬 리포지토리에 설치합니다.


오픈 소스 라이브러리에서 "mvn install"을 실행한다고 가정 해 봅시다. 그런 다음 처음 컴파일 한 오픈 소스 라이브러리를 사용하는 프로젝트에서 "mvn install"을 실행합니다. "mvn install"을 실행할 때, 로컬 저장소에서 JAR을 먼저 찾게됩니까? 아니면 POM 파일에 의존합니까?
케빈 메러디스

1
@Kevin 그 점이 중요하기 때문에 로컬로 먼저 가야합니다. 로컬 리포지토리에 없으면 구성한 리포지토리 (또는 기본값)를 찾아 로컬 리포지토리에있는 경우 해당 리포지토리에 설치합니다. 나는 로컬 리포지를 건너 뛰도록 구성 할 수 있다고 생각하지만, 그것을 찾지 않으면 어떻게 해야할지 모르겠습니다.
Dave Newton

17
적이 당신은 메이븐의 표준 문서를 보았다? 아파치 사이트는 mvn install의 목적을 다음과 같이 설명합니다 : "대부분의 경우, install : install 목표는 구성이 필요하지 않으며, 기본 빌드 수명주기의 설치 단계에서 프로젝트의 POM 및 이슈 파일을 설치해야합니다." 아파치의 문서는 'mvn install'이 실제로 포스터를 좋아하는 사람들과 나 자신이 해답을 찾고있는 것이 무엇인지 설명하지 못하기 때문입니다. 완벽하게 합리적인 질문입니다.
bethesdaboys


6

install:install목표는«플러그인 설치 아파치 메이븐»에 의해 제공된다 :

아파치 메이븐 설치 플러그인

설치 플러그인은 아티팩트를 로컬 저장소에 추가하기 위해 설치 단계에서 사용됩니다. 플러그인 설치가 POM의 정보를 사용 ( groupId, artifactId, version)의 로컬 저장소 내의 이슈에 대한 적절한 위치를 결정한다.

로컬 저장소는 빌드에 필요한 모든 아티팩트가 저장되는 로컬 캐시입니다. 기본적으로 사용자의 홈 디렉토리 ( ~/.m2/repository) 내에 있지만 요소 를 ~/.m2/settings.xml사용하여 위치를 구성 할 수 있습니다 <localRepository>.

Apache Maven 설치 플러그인-소개 .

정확한 목표 목적은 다음과 같습니다.

install:install 프로젝트의 주요 아티팩트 (JAR, WAR 또는 EAR), POM 및 특정 프로젝트에서 생성 된 첨부 된 아티팩트 (소스, javadoc 등)를 자동으로 설치하는 데 사용됩니다.

Apache Maven 설치 플러그인-소개 .

목표에 대한 자세한 내용은 Apache Maven Install Plugin-install : install 페이지를 참조하십시오.

일반적인 빌드 수명주기 및 빌드 수명주기에서 목표가있는 위치에 대한 자세한 내용은 Maven – 빌드 수명주기 소개 페이지를 참조하십시오.


3

짧은 답변

mvn 설치

  • 지정된 모든 이슈 (종속성) 추가 POM 받는, 로컬 저장소 (원격 소스로부터 참조).

2

-DskipTests=true 짧은 형식이다 -Dmaven.test.skip=true

.m2 폴더의 Setting.xml 을 변경 하십시오 . 로컬 저장소에 대한 링크를 사용하여 한 번 다운로드 된 jar 파일을 반복해서 다운로드해서는 안됩니다.

<url>file://C:/Users/admin/.m2/repository</url>
 </repository>

0

mvn 설치 기본 작업은 1) 종속성 다운로드2) 프로젝트 빌드입니다.

동안 작업 한이 요즘 인 IntelliJ 같은 ID에 의해 돌보아 (그들은 POM에서 종속성 다운로드)

mvn install은 주로 작업 2에 사용됩니다 .

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