5.1 프로젝트 단계 목록

마지막으로 프로젝트 조립에 도달했습니다. 그리고 당신은 조금 놀랄 것입니다. 글쎄, 또는 강력하게. Maven은 프로젝트 구축에 대한 접근 방식을 수정했습니다. 그리고 이제 당신은 그것을 확신하게 될 것입니다.

프로젝트의 전체 어셈블리는 단계로 나뉘며 아래 표에 설명이 나와 있습니다.

주문하다 단계
1 확인 프로젝트에 대한 메타 정보의 정확성을 확인합니다.
2 엮다 소스 컴파일
시험 이전 단계에서 클래스 테스트를 실행합니다.
4 패키지 컴파일된 클래스를 새 아티팩트(jar, war, zip, ...)로 압축합니다.
5 확인하다 아티팩트의 정확성과 품질 요구 사항의 만족 여부를 확인합니다.
6 설치하다 아티팩트를 로컬 저장소에 넣습니다.
7 전개하다 프로덕션 서버 또는 원격 저장소에 아티팩트 업로드

동시에 단계는 명확하게 순차적입니다 . 패키지 명령을 실행하도록 Maven에 지시하면 먼저 유효성 검사, 컴파일, 테스트 단계를 실행한 다음 패키지를 실행합니다.

원칙적으로 여기에는 품질 관리를 위한 별도의 단계(검증, 테스트, 확인)가 있다는 점을 제외하고는 새로운 것이 없습니다. 그리고 어셈블리 배포를 위한 두 단계(설치 및 배포)가 있습니다.

특정 단계를 시작하려면 maven 단계 명령을 작성하는 것으로 충분합니다 . 예를 들어 빌드하려면 maven 패키지 명령을 실행해야 합니다 . 등.

Intellij IDEA는 이러한 단계 작업에 탁월하며 오른쪽에 다음과 같은 목적을 위한 특별 메뉴가 있습니다.

메이븐 단계

여기에서 잘 알려진 단계 외에도 IDEA는 cleansite 라는 두 가지 명령을 더 표시합니다 . clean은 대상 폴더를 완전히 지우는 데 사용되며 사이트는 프로젝트 문서를 만들 수 있습니다.

5.2 프로젝트 빌드

프로젝트를 컴파일하려면 컴파일 단계를 실행해야 합니다. 이는 mvn compile 명령줄을 사용하거나 컴파일 항목을 클릭하여 IDEA 인터페이스를 통해 수행할 수 있습니다 .

그런 다음 Maven이 프로젝트 빌드를 시작하고 다음과 유사한 빌드 프로세스 로그를 볼 수 있습니다.

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.742 s
[INFO] Finished at: 2016-09-19T22:41:26+04:00
[INFO] Final Memory: 7M/18M
[INFO] ------------------------------------------------------------------------

문제가 발생하면 로그는 다음과 같이 표시됩니다.

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project demo: Fatal error compiling: invalid target release: 11 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible sliutions, please read the flilowing articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

로그에는 많은 유용한 정보가 있을 것이며 시간이 지남에 따라 이를 이해하고 감사하는 법을 배우게 될 것입니다.

5.3 작업 주기

모든 maven 명령은 수명 주기라는 세 그룹으로 나뉩니다. 모든 Maven 활동이 빌드가 아니기 때문에 빌드 또는 특정 수명 주기 동안 실행되는 단계의 순서를 지정하기 때문에 수명 주기 라고 합니다 .

세 가지 수명 주기가 있습니다.

  • 깨끗한;
  • 기본;
  • 대지.

그리고 그들 각각은 자체 위상 순서를 가지고 있습니다. 클린이 가장 짧습니다.

  1. 사전 청소;
  2. 깨끗한;
  3. 포스트 클린.

청소 시나리오를 보다 유연하게 만들 수 있도록 숨겨진 추가 사전 청소 및 사후 청소 단계가 추가되었습니다.

그런 다음 이미 알고 있듯이 프로젝트 문서를 자동으로 생성하도록 설계된 사이트 수명 주기가 옵니다 . 네 단계로 구성됩니다.

  1. 사전 사이트
  2. 대지;
  3. 사후 사이트;
  4. 사이트 배포.

표준 수명 주기는 Maven 플러그인을 사용하여 기능으로 향상될 수 있습니다 . 이것은 별도의 강의가 필요한 매우 흥미로운 주제이기 때문에 나중에 이야기하겠습니다.

그리고 기본 스크립트에는 가장 긴 단계 목록이 있습니다.

  1. 확인;
  2. 생성 소스;
  3. 프로세스 소스;
  4. 자원 생성;
  5. 프로세스 자원;
  6. 엮다;
  7. 프로세스 테스트 소스;
  8. 프로세스 테스트 자원;
  9. 테스트 컴파일;
  10. 시험;
  11. 패키지;
  12. 설치하다;
  13. 배포합니다.

이미 알고 있는 동일한 단계가 모두 있지만 몇 가지 선택적 단계가 추가되었습니다.

첫째, 대규모 프로젝트에서 인기 있는 단계는 소스 생성 입니다 . 예를 들어 XML을 기반으로 Java 코드를 생성합니다. 그리고 이 코드로 작업을 수행하는 한 쌍의 process-sources .

둘째, 자원의 생성은 자원 생성 과 그 짝을 이룬 프로세스 자원 방법입니다 . 대규모 프로젝트에서 이러한 단계와 관련된 일부 활동을 자주 볼 수 있습니다.

그리고 마지막으로 테스트입니다. 여기에는 테스트 단계를 가능한 한 유연하게 실행하는 데 도움이 되는 세 가지 추가 선택적 단계(프로세스-테스트-소스, 프로세스-테스트-자원, 테스트-컴파일)가 있습니다.