실패한 지점에서 maven 빌드를 시작할 수 있습니까?


89

7 개의 모듈이있는 큰 프로젝트에서 전체 빌드를 수행하고 있고 6 번째 모듈에서는 테스트가 실패하여 빌드가 실패했다고 가정합니다. 실패한 지점에서 빌드를 시작할 수있는 방법이 있습니까?

답변:


134

-rf또는 --resume-from다음을 사용하여 6 번째 모듈에서 빌드를 재개 할 수 있습니다 .

-rf, --resume-from
          지정된 프로젝트에서 리액터 재개

자세한 내용은 Advanced Reactor 옵션 을 참조하십시오.


이것에 감사드립니다. 나는 그것을 시도 할 것입니다
— Shekhar

1
하위 하위 프로젝트가 바로 사용이가 좋은 subproject/subsubproject매개 변수로
— akostadinov

13
예 :maven -rf <module name> clean install
— Zoltán 2014 년

9
이것은 모듈 이름 앞에 콜론을 추가했을 때만 저에게 효과적 mvn -rf :moduleName install이었습니다. (반드시 콜론이 필요하지만 것 같다 정확하게하지 이유 -. 적어도 내 설치를 위해)
— 스티브 챔버스에게

3
install재개 빌드는 로컬 Maven 저장소에서 이미 빌드 된 아티팩트를 가져와 종속성을 해결할 수 있기 때문에 초기 빌드에 목표가있는 경우에만 작동하는 것 같습니다. install스냅 샷으로 로컬 저장소를 복잡하게 만들고 예상보다 오래된 스냅 샷에 의존하게 될 때 빌드 를 실행하는 것은 나쁜 습관 입니다. 당신은 어디를위한과 같은 빌드 package와하지 install, 사용하는 -rf옵션이 아니다 : 당신이 전체 빌드를 수행해야합니다.
— Frans

13

다음은 예입니다.

mvn clean install -rf :your-module

9

-rf명령 을 사용하여 원하는 모듈에서 빌드를 재개 할 수 있습니다 . 예를 들어 myproject-proxy에서 빌드가 실패한 경우 다음 명령을 사용할 수 있습니다.

mvn -rf myproject-proxy clean install

이 작업을 수행하려면 콜론을 넣어야했습니다. 예 : -rf : yourModule 다른 답변을 참조하십시오.
— Gapmeister66

8

maven 요약을 보면 실행 된 모듈과 maven이 중지 된 위치를 볼 수 있습니다. 그런 다음 이것을 시도하십시오.

mvn clean install-Dmaven.test.skip=true -rf :yourModule

-1

구문 : mvn -rf modulename mavengoal 또는 mvn --resume-from modulename mavengoal

예 : mvn -rf admin-module clean install 또는 mvn --resume-from admin-module clean install


-rf은 짧지 않습니다 --remove-from. 줄여서--resume-from
— Gili

-2

모듈 6 빌드를 별도로 실행하여 여전히 실패하는지 확인할 수 있지만 "큰"빌드를 실행하려면 처음부터 모든 모듈을 빌드해야합니다.

편집 : 물론 빌드의 일부로 클린 실행하지 않는 한 모듈 1-5의 코드가 이미 컴파일되어 있기 때문에 후속 빌드가 더 빠를 것입니다.


예 .. 나는 이것을 알고있다. 그러나 나는 그것이 실패한 지점에서 빌드를 시작하는 방법을 찾고 있었다 ..
— Shekhar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.