[maven] Maven의 “반응기”는 무엇입니까?

나는 Maven 원자로에 대해 읽었으며 용어 사용에 혼란 스럽습니다. 멀티 모듈은 리액터이고, 메이븐 리액터를 조작 할 수 있고 리액터는 플러그인이라는 것을 읽었습니다. 원자로는 정확히 무엇입니까?



답변

리액터는 일련의 모듈에서 목표를 실행할 수있는 Maven의 일부입니다. 다중 모듈 빌드 에 대한 Maven 1.x 문서에서 언급했듯이 (반응기 개념은 이미 Maven 1.x에 있음) 모듈은 별개의 작업 단위이지만 반응기를 사용하여 함께 모아서 동시에 빌드 할 수 있습니다 .

리액터는 각 프로젝트 설명자에서 각 프로젝트에 명시된 종속성에서 올바른 빌드 순서를 결정한 다음 명시된 목표 세트를 실행합니다. 건물 프로젝트 및 사이트 생성과 같은 기타 목표 모두에 사용할 수 있습니다.

설명했듯이 리액터는 다중 모듈 빌드를 가능하게합니다. 모듈 간의 종속성에 대한 방향성 그래프를 계산하고이 그래프에서 빌드 순서를 도출 한 다음 (이것이 순환 종속성이 허용되지 않는 이유입니다. 어쨌든 좋은 것입니다) 목표를 실행합니다. 모듈. 즉, ” 다중 모듈 빌드 “는 ” 리액터 빌드 “이고 ” 리액터 빌드 “는 ” 다중 모듈 빌드 “입니다.

Maven 2.x에서는 다중 모듈 빌드에 대한 지원이 크게 향상되었으며 리액터가 Maven 사용자에게 투명 해졌습니다. 그러나 그것은 여전히 ​​거기에 있고 후드 아래에서 사용됩니다.

2008 년 9 월 (예 : Maven 2 출시 이후 오랜 시간), Maven 리액터와 더 밀접하게 상호 작용할 수 있도록 리액터 플러그인 이 생성되었습니다. Brett Porter는 Reactor : My New Favorite Maven Plugin 에서 블로그에 올렸습니다 .

이제 대부분의 리액터 플러그인 기능이 기본적으로 지원됩니다 (Maven 2.1.0부터). Maven Tips and Tricks : Advanced Reactor Options를 참조하십시오 .


답변

Reactor는 프로젝트에 다중 모듈이있을 때 사용됩니다.

반응기가 수행하는 작업은 다음과 같습니다.

  • 모듈 세부 정보 수집
  • 종속성에 따라 순서 정렬
  • 순서대로 프로젝트 구축

2.1 릴리스부터는 Maven이 다중 모듈 프로젝트를 빌드하는 방식을 조작 할 수있는 새로운 명령 줄 옵션이 있습니다. 이러한 새로운 옵션은 다음과 같습니다.

-rf, --resume-from
    Resume reactor from specified project
-pl, --projects
    Build specified reactor projects instead of all projects
-am, --also-make
    If project list is specified, also build projects required by the list
-amd, --also-make-dependents
    If project list is specified, also build projects that depend on projects on the list  

출처


답변