Maven의 "반응기"는 무엇입니까?


105

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

답변:


164

리액터는 일련의 모듈에서 목표를 실행할 수있는 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를 참조하십시오 .


10
Maven 사이트에서이 플러그인이 "사용 중지"되었다고 말하는 이유는 무엇입니까?
Mopparthy Ravindranath 2015

4
리액터 플러그인은 실제 리액터와 "대화"하는 플러그인이기 때문입니다. 따라서 원자로 자체는 폐기 된 것이 아니라 이와 관련된 플러그인입니다.
Lonzak

8

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  

출처

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.