정확히의 차이점은 무엇입니까 mvn clean package
와는 mvn clean install
? 이 두 명령을 모두 실행하면 두 명령이 모두 동일한 것으로 보입니다.
답변
글쎄, 둘 다 청소합니다. 즉, 대상 폴더가 제거됩니다. 실제 질문은 패키지와 설치의 차이점이 무엇입니까?
package
코드를 컴파일하고 패키지합니다. 예를 들어, pom에서 프로젝트가 jar라고 표시하면 패키지를 만들어 대상 디렉토리의 어딘가에 배치 할 때 jar가 작성됩니다 (기본).
install
컴파일하고 패키지하지만 패키지를 로컬 저장소에 넣습니다. 이렇게하면 다른 프로젝트가이를 참조하여 로컬 리포지토리에서 가져올 수 있습니다.
답변
클린 기능 (두 명령 모두 공통)-이전 빌드에서 생성 된 모든 파일을 제거합니다.
명령 패키지 와 설치 의 차이점에 따라 먼저 maven 프로젝트 의 수명주기 를 이해해야합니다.
이것은 maven의 기본 수명주기 단계입니다
- 확인 -프로젝트가 올바른지 확인하고 필요한 모든 정보를 사용할 수 있습니다
- 컴파일 -프로젝트의 소스 코드를 컴파일
- 테스트 -적절한 단위 테스트 프레임 워크를 사용하여 컴파일 된 소스 코드를 테스트하십시오. 이러한 테스트는 코드를 패키지하거나 배포 할 필요가 없습니다.
- 패키지 – 컴파일 된 코드를 가지고 이러한 JAR로, 그 배포 형식으로 패키지.
- 확인 -통합 테스트 결과에 대한 모든 검사를 실행하여 품질 기준을 충족하는지 확인
- install- 로컬 저장소에 패키지를 설치하여 로컬의 다른 프로젝트에서 종속성으로 사용
- 배포 -빌드 환경에서 수행되며 다른 개발자 및 프로젝트와 공유하기 위해 최종 패키지를 원격 저장소에 복사합니다.
Maven의 작동 방식은 수명주기 단계 중 하나에 대해 명령을 실행하면 명령 자체를 실행하기 전에 각 기본 수명주기 단계를 순서대로 실행합니다.
실행 순서
유효성 검사 >> 컴파일 >> 테스트 (선택 사항) >> 패키지 >> 확인 >> 설치 >> 배포
따라서 mvn package 명령을 실행하면 package까지 모든 라이프 사이클 단계에 대한 명령이 실행됩니다.
유효성 검사 >> 컴파일 >> 테스트 (선택 사항) >> 패키지
에 관해서 그리고 MVN 설치 , 모든 라이프 사이클 단계의 명령을 실행 패키지뿐만 아니라 포함하는 설치 경작한다
유효성 검사 >> 컴파일 >> 테스트 (선택 사항) >> 패키지 >> 확인 >> 설치
따라서 실제로 의미하는 것은 install 명령은 package 명령이 수행하는 모든 작업 과 그 밖의 모든 작업을 수행하는 것입니다 (로컬 저장소에 다른 프로젝트의 종속성으로 사용하기 위해 패키지를 로컬 리포지토리에 설치).
출처 : Maven 라이프 사이클 참조
답변
패키지 는 POM 파일에 따라 Jar / war을 생성합니다.
install 은 다른 종속 항목이있는 경우 생성 된 jar 파일을 로컬 저장소에 설치합니다.
설치 단계는 패키지 단계 후에옵니다
답변
패키지 및 설치는 maven 빌드 수명주기의 다양한 단계입니다. 패키지 단계는 그 이전의 모든 단계를 실행하며 프로젝트를 항아리로 포장하는 것으로 중단됩니다. 마찬가지로 설치 단계는 모든 이전 단계를 실행하고 마지막으로 다른 종속 프로젝트를 위해 프로젝트를 로컬로 설치합니다.
maven 빌드 수명주기를 이해하려면 다음 링크를 방문하십시오 https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html
답변
package
패키지 추가 할 것이다 jar
또는 war
당신에 target
, 우리는 대상 폴더 (사용 비울 때 폴더, 우리는 그것을 확인하실 수 있습니다 mvn clean
) 다음 실행을 mvn package
.
install
모든 작업을 package
수행하며, 패키지 jar
또는 war
로컬 리포지토리에 추가됩니다 . .m2
폴더 를 체크인하여 확인할 수 있습니다 .