저는 Ant 세계에서 온 Maven을 처음 사용합니다.
실행할 수있는 모든 가능한 목표 (예 : 모든 플러그인 포함)를 나열 할 수 있습니까?
-g
Maven 1 에는 플래그가 있었지만 버전 2에서는 사용할 수 없음을 알 수 있습니다.
답변
명령 줄에 표시하는 목표 는 Maven 의 수명주기 와 연결됩니다 . 예를 들어 build
수명주기 ( clean
및 site
다른 수명 주기도 있음)는 다음 단계로 구성됩니다.
validate
: 프로젝트가 정확하고 필요한 모든 정보를 사용할 수 있는지 확인합니다.compile
: 프로젝트의 소스 코드를 컴파일합니다.test
: 적절한 단위 테스트 프레임 워크를 사용하여 컴파일 된 소스 코드를 테스트합니다. 이러한 테스트에서는 코드를 패키징하거나 배포 할 필요가 없습니다.package
: 컴파일 된 코드를 가져와 JAR과 같은 배포 가능한 형식으로 패키징합니다.integration-test
: 통합 테스트를 실행할 수있는 환경에서 필요한 경우 패키지를 처리하고 배포합니다.verify
: 검사를 실행하여 패키지가 유효하고 품질 기준을 충족하는지 확인합니다.install
: 다른 프로젝트에서 로컬로 종속성으로 사용하기 위해 패키지를 로컬 저장소에 설치합니다.deploy
: 통합 또는 릴리스 환경에서 수행되며 다른 개발자 및 프로젝트와 공유 할 수 있도록 최종 패키지를 원격 저장소에 복사합니다.
여기 에서 “핵심”플러그인 목록을 찾을 수 있지만 여기 에는 코드 하우스 플러그인과 같은 다른 플러그인이 많이 있습니다 .
답변
실행할 수있는 가능한 모든 목표 (예 : 모든 플러그인 포함)를 나열 할 수 있습니까?
Maven에는 단계 목록 이 한정되어 있지만 내장 된 항목이 없습니다 ( 플러그인 목록 이 아니기 때문에 플러그인 목표 목록은 없습니다).
그러나 BASH를 사용한 Maven 2.x 자동 완성 가이드에 설명 된대로 (Windows에서는 cygwin 사용) bash 완성 기능을 더 쉽게 만들고 활용할 수 있습니다 (그러나이 가이드에서 스크립트를 선택하기 전에 자세히 읽어보십시오. ).
제대로 작동하려면 먼저이 가이드 에 따라 컴퓨터에서 bash 완성을 설정하세요. 그런 다음 Maven2에 대한 스크립트를 가져올 시간입니다.
- 미니 가이드의 것을 사용할 수 있지만
- MNG-3928에 부착 된 개선 된 버전을 사용하는 동안
- 인터넷에서 발견되는 임의의 스크립트를 사용할 수 있지만 (호기심이 있다면 리소스 참조)
- 개인적으로 HEAD에서 다운로드 할 수 있는 Ludovic Claude의 PPA (
maven
Ubuntu 패키지 버전에 번들로 제공됨) 의 Bash Completion 스크립트를 사용합니다 . 그것은 단순히 최고의 것 입니다.
다음은 결과를 설명하기 위해 얻은 것입니다.
$ mvn [tab] [tab] 377 개의 가능성을 모두 표시 하시겠습니까? (y 또는 n) ant : ant ant : clean ant : help antrun : help antrun : run 아키 타입 : 크롤링 아키 타입 : 만들기 아키 타입 : 프로젝트에서 생성 아키 타입 : 생성 아키 타입 : 도움말 조립품 : 조립품 조립품 : 디렉토리 조립품 : 단일 디렉토리 조립품 : 도움말 조립품 : 단일 ...
물론 377 개의 가능성을 탐색하지 않고 완성을 사용합니다. 하지만 이것은 “a”목록의 크기에 대한 아이디어를 제공합니다. 🙂
자원
답변
답변
매우 간단하게 만들 수 있습니다.
Maven 수명주기 : 1. 정리 2. 기본 (빌드) 3. 사이트
기본 수명주기의 Maven 단계 : 1. 유효성 검사 2. 컴파일 3. 테스트 4. 패키지 5. 확인 6. 설치 7. 배포
참고 : Maven 수명주기와 Maven 목표를 혼동하거나 혼동하지 마십시오.
Maven 빌드 라이프 사이클 기본 사항 참조 1
답변
빌드 라이프 사이클은 단계로 구성됩니다.
이러한 각 빌드 수명주기는 서로 다른 빌드 단계 목록으로 정의되며, 여기서 빌드 단계는 수명주기의 한 단계를 나타냅니다.
예를 들어 기본 수명주기는 다음 단계로 구성됩니다 (전체 수명주기 단계 목록은 수명주기 참조 참조).
- 검증-프로젝트가 정확하고 필요한 모든 정보를 사용할 수 있는지 검증합니다.
- 컴파일-프로젝트의 소스 코드를 컴파일
- 테스트-적절한 단위 테스트 프레임 워크를 사용하여 컴파일 된 소스 코드를 테스트합니다. 이러한 테스트에서는 코드를 패키지화하거나 배포 할 필요가 없습니다.
- package-컴파일 된 코드를 가져와 JAR과 같은 배포 가능한 형식으로 패키징합니다. 검증-통합 테스트 결과에 대한 검사를 실행하여 품질 기준이 충족되는지 확인합니다.
- 설치-다른 프로젝트에서 로컬로 종속성으로 사용하기 위해 패키지를 로컬 저장소에 설치합니다.
- 배포-빌드 환경에서 수행되며 최종 패키지를 원격 저장소에 복사하여 다른 개발자 및 프로젝트와 공유합니다.
이러한 수명주기 단계 (여기에 표시되지 않은 다른 수명주기 단계 포함)는 기본 수명주기를 완료하기 위해 순차적으로 실행됩니다. 위의 수명주기 단계를 고려하면 기본 수명주기가 사용될 때 Maven은 먼저 프로젝트의 유효성을 검사 한 다음 소스를 컴파일하고 테스트에 대해 실행하고 바이너리 (예 : jar)를 패키징하고 이에 대한 통합 테스트를 실행합니다. 통합 테스트를 확인하고 확인 된 패키지를 로컬 저장소에 설치 한 다음 설치된 패키지를 원격 저장소에 배포합니다.
출처 : https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html