저는 Ant 세계에서 온 Maven을 처음 사용합니다.
실행할 수있는 모든 가능한 목표 (예 : 모든 플러그인 포함)를 나열 할 수 있습니까?
-gMaven 1 에는 플래그가 있었지만 버전 2에서는 사용할 수 없음을 알 수 있습니다.
저는 Ant 세계에서 온 Maven을 처음 사용합니다.
실행할 수있는 모든 가능한 목표 (예 : 모든 플러그인 포함)를 나열 할 수 있습니까?
-gMaven 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에 대한 스크립트를 가져올 시간입니다.
mavenUbuntu 패키지 버전에 번들로 제공됨) 의 Bash Completion 스크립트를 사용합니다 . 그것은 단순히 최고의 것 입니다.다음은 결과를 설명하기 위해 얻은 것입니다.
$ mvn [tab] [tab] 377 개의 가능성을 모두 표시 하시겠습니까? (y 또는 n) ant : ant ant : clean ant : help antrun : help antrun : run 아키 타입 : 크롤링 아키 타입 : 만들기 아키 타입 : 프로젝트에서 생성 아키 타입 : 생성 아키 타입 : 도움말 조립품 : 조립품 조립품 : 디렉토리 조립품 : 단일 디렉토리 조립품 : 도움말 조립품 : 단일 ...
물론 377 개의 가능성을 탐색하지 않고 완성을 사용합니다. 하지만 이것은 "a"목록의 크기에 대한 아이디어를 제공합니다. :)
Maven Shell도구가 여기에서 유용 할 수있는 자동 완성 기능을 제공합니까?
mvnsh완료를 제공하지 않습니다 (적어도 내 컴퓨터에있는 버전이 아님). 나는 대답하기 전에 확인했다 :)
빌드 라이프 사이클은 단계로 구성됩니다.
이러한 각 빌드 수명주기는 서로 다른 빌드 단계 목록으로 정의되며, 여기서 빌드 단계는 수명주기의 한 단계를 나타냅니다.
예를 들어 기본 수명주기는 다음 단계로 구성됩니다 (전체 수명주기 단계 목록은 수명주기 참조 참조).
이러한 수명주기 단계 (여기에 표시되지 않은 다른 수명주기 단계 포함)는 기본 수명주기를 완료하기 위해 순차적으로 실행됩니다. 위의 수명주기 단계를 고려하면 기본 수명주기가 사용될 때 Maven은 먼저 프로젝트의 유효성을 검사 한 다음 소스를 컴파일하고 테스트에 대해 실행하고 바이너리 (예 : jar)를 패키징하고 이에 대한 통합 테스트를 실행합니다. 통합 테스트를 확인하고 확인 된 패키지를 로컬 저장소에 설치 한 다음 설치된 패키지를 원격 저장소에 배포합니다.
출처 : https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html