"mvn clean package"와 "mvn clean install"은 어떻게 다릅니까?
와의 차이는 정확히 무엇입니까?mvn clean package
그리고.mvn clean install
? 이 두 명령어를 실행하면 두 명령어 모두 같은 동작을 하는 것 같습니다.
둘 다 청소할 거야즉, 대상 폴더를 제거할 수 있습니다.문제는 패키지와 설치의 차이입니다.
package
코드를 컴파일하여 패키징합니다.예를 들어, pom에 프로젝트가 jar라고 표시되어 있는 경우, pom을 패키징하여 타겟디렉토리에 배치하면(디폴트로) jar가 생성됩니다.
install
는 컴파일 및 패키징되지만 패키지는 로컬저장소에도 저장됩니다.그러면 다른 프로젝트에서 참조할 수 있고 로컬 저장소에서 가져올 수 있습니다.
What clean does (두 명령어 공통) - 이전 빌드에 의해 생성된 모든 파일 삭제
명령어 패키지와 설치의 차이점에 대해서는 먼저 메이븐 프로젝트의 라이프 사이클을 이해할 필요가 있습니다.
이것들은 메이븐의 디폴트 라이프 사이클 단계입니다.
- validate - 프로젝트가 올바르고 필요한 모든 정보를 사용할 수 있는지 확인합니다.
- 컴파일 - 프로젝트의 소스 코드를 컴파일합니다.
- 테스트 - 컴파일된 소스 코드를 적절한 유닛 테스트 프레임워크를 사용하여 테스트합니다.이러한 테스트에서는, 코드를 패키지화 또는 전개할 필요는 없습니다.
- package - 컴파일된 코드를 JAR 등의 배포 가능한 형식으로 패키지합니다.
- verify - 통합 테스트 결과에 대한 모든 검사를 실행하여 품질 기준을 충족하는지 확인합니다.
- install - 로컬저장소에 패키지를 설치하여 다른 프로젝트에서 로컬로 의존관계로 사용합니다.
- 배포 - 빌드 환경에서 수행되며 최종 패키지를 원격 저장소에 복사하여 다른 개발자 및 프로젝트와 공유합니다.
Maven은 라이프 사이클 단계 중 하나에 대해 명령을 실행하면 명령어 자체를 실행하기 전에 각 기본 라이프 사이클 단계를 순서대로 실행합니다.
집행 순서
validate >> 컴파일 >> 테스트 (옵션)>> 패키지 >> 확인 > 설치 >> 전개
따라서 명령어 mvn package를 실행하면 패키지까지의 모든 라이프 사이클 단계에 대한 명령어가 실행됩니다.
validate >> 컴파일 >> 테스트 (옵션)>> 패키지
또한 mvn 설치의 경우 설치까지의 모든 라이프 사이클 단계에 대해 명령을 실행합니다(패키지 포함).
validate >> 컴파일 >> 테스트 (옵션)>> 패키지 >> 확인 >> 설치
즉, 사실상 install 명령어는 package 명령어가 수행하는 모든 작업 및 기타 작업을 수행합니다(패키지를 로컬저장소에 설치하여 다른 프로젝트의 의존관계로 사용).
출처: 메이븐 라이프 사이클 레퍼런스
패키지는 POM 파일에 따라 Jar/war를 생성합니다.install을 실행하면 생성된 jar 파일이 로컬저장소에 설치되어 다른 의존관계가 있는 경우 해당 jar 파일이 설치됩니다.
설치 단계는 패키지 단계 이후에 진행됩니다.
package
「」를 합니다.jar
★★★★★★★★★★★★★★★★★」war
your target
folder,때 확인할 수( 「 」 「 」 「 」 「 」 「 」 「 」 ) 。mvn clean
를 실행하고 나서, 「」를 실행합니다.mvn package
install
수 있는 을 할 package
패키징된 '패키지'가 됩니다.jar
★★★★★★★★★★★★★★★★★」war
로컬 저장소에서도 사용할 수 있습니다.하실 수 있는 건 객객 your we we we we we we we we we we we we we we we we we we we 。.m2
더입니니다다
패키지 및 설치는 제조 라이프 사이클의 다양한 단계입니다.패키지 단계는 그 전의 모든 단계를 실행하고 프로젝트를 병으로 패키징하는 것으로 정지합니다.마찬가지로 설치 단계에서는 모든 이전 단계를 실행하고 최종적으로 다른 종속 프로젝트에 대해 프로젝트를 로컬로 설치합니다.
메이븐의 빌드 라이프 사이클에 대해서는, 다음의 링크를 참조해 주세요.https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html
mvn package 명령어는 소스 코드를 컴파일하고 pom 파일에 따라 jar 또는 war로 패키징하여 타깃 폴더에 넣습니다(기본값).
mvn install 명령어는 컴파일 및 패키징되지만 패키지는 로컬저장소에도 저장됩니다.다른 프로젝트에서 참조하고 로컬 저장소에서 가져올 수 있습니다.
mvn install 명령어는 저장소 내의 다른 프로젝트가 의존하는 프로젝트(프로젝트)를 컴파일할 때 주로 사용됩니다.
언급URL : https://stackoverflow.com/questions/16602017/how-are-mvn-clean-package-and-mvn-clean-install-different
'programing' 카테고리의 다른 글
Vue 구성 요소에서 범위 지정 스타일을 재정의하는 방법 (0) | 2022.08.13 |
---|---|
클릭한 Vuetify v-tab 항목의 강조 표시 중지 또는 역방향 (0) | 2022.08.13 |
Vuetify의 v-text-field에서 클립보드로 텍스트를 복사하려면 어떻게 해야 합니까? (0) | 2022.08.11 |
구조에서 기능 정의 (0) | 2022.08.11 |
구조에서는 하나의 어레이 필드를 사용하여 다른 어레이 필드에 액세스하는 것이 합법입니까? (0) | 2022.08.11 |