[java] Maven 2에서 가능한 모든 목표를 나열 하시겠습니까?

저는 Ant 세계에서 온 Maven을 처음 사용합니다.

실행할 수있는 모든 가능한 목표 (예 : 모든 플러그인 포함)를 나열 할 수 있습니까?

-gMaven 1 에는 플래그가 있었지만 버전 2에서는 사용할 수 없음을 알 수 있습니다.



답변

명령 줄에 표시하는 목표 는 Maven 의 수명주기 와 연결됩니다 . 예를 들어 build수명주기 ( cleansite다른 수명 주기도 있음)는 다음 단계로 구성됩니다.

  • validate: 프로젝트가 정확하고 필요한 모든 정보를 사용할 수 있는지 확인합니다.
  • compile: 프로젝트의 소스 코드를 컴파일합니다.
  • test: 적절한 단위 테스트 프레임 워크를 사용하여 컴파일 된 소스 코드를 테스트합니다. 이러한 테스트에서는 코드를 패키징하거나 배포 할 필요가 없습니다.
  • package: 컴파일 된 코드를 가져와 JAR과 같은 배포 가능한 형식으로 패키징합니다.
  • integration-test: 통합 테스트를 실행할 수있는 환경에서 필요한 경우 패키지를 처리하고 배포합니다.
  • verify: 검사를 실행하여 패키지가 유효하고 품질 기준을 충족하는지 확인합니다.
  • install: 다른 프로젝트에서 로컬로 종속성으로 사용하기 위해 패키지를 로컬 저장소에 설치합니다.
  • deploy: 통합 또는 릴리스 환경에서 수행되며 다른 개발자 및 프로젝트와 공유 할 수 있도록 최종 패키지를 원격 저장소에 복사합니다.

여기 에서 “핵심”플러그인 목록을 찾을 수 있지만 여기 에는 코드 하우스 플러그인과 같은 다른 플러그인이 많이 있습니다 .


답변

실행할 수있는 가능한 모든 목표 (예 : 모든 플러그인 포함)를 나열 할 수 있습니까?

Maven에는 단계 목록 이 한정되어 있지만 내장 된 항목이 없습니다 ( 플러그인 목록 이 아니기 때문에 플러그인 목표 목록은 없습니다).

그러나 BASH를 사용한 Maven 2.x 자동 완성 가이드에 설명 된대로 (Windows에서는 cygwin 사용) bash 완성 기능을 더 쉽게 만들고 활용할 수 있습니다 (그러나이 가이드에서 스크립트를 선택하기 전에 자세히 읽어보십시오. ).

제대로 작동하려면 먼저이 가이드 에 따라 컴퓨터에서 bash 완성을 설정하세요. 그런 다음 Maven2에 대한 스크립트를 가져올 시간입니다.

다음은 결과를 설명하기 위해 얻은 것입니다.

$ mvn [tab] [tab]
 377 개의 가능성을 모두 표시 하시겠습니까? (y 또는 n)
ant : ant
ant : clean
ant : help
antrun : help
antrun : run
아키 타입 : 크롤링
아키 타입 : 만들기
아키 타입 : 프로젝트에서 생성
아키 타입 : 생성
아키 타입 : 도움말
조립품 : 조립품
조립품 : 디렉토리
조립품 : 단일 디렉토리
조립품 : 도움말
조립품 : 단일
...

물론 377 개의 가능성을 탐색하지 않고 완성을 사용합니다. 하지만 이것은 “a”목록의 크기에 대한 아이디어를 제공합니다. 🙂

자원


답변

IntelliJ IDEA를 사용하는 경우 Maven Projects탭 에서 모든 Maven 목표 / 작업 (플러그인 포함)을 검색 할 수 있습니다 .

Maven 프로젝트


답변

매우 간단하게 만들 수 있습니다.

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


답변