programing

maven build가 실패한 지점부터 시작할 수 있습니까?

yoursource 2022. 9. 3. 17:14
반응형

maven build가 실패한 지점부터 시작할 수 있습니까?

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

6번째 모듈부터 빌드를 재개하려면-rf또는--resume-from:

-rf, --resume-from
지정된 프로젝트에서 원자로 재개

상세한 것에 대하여는, 「Advanced Reactor Options」를 참조해 주세요.

여기 예가 있습니다.

mvn clean install -rf :your-module

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

mvn -rf myproject-proxy clean install

maven 요약을 보면 실행된 모듈과 maven이 정지된 위치를 볼 수 있습니다.그럼 이렇게 해 보세요.

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

Maarten Mulders의 "What's New in Maven 4" (2020년 11월)에 따르면 곧 출시될 Maven 4.0.0 (Q1 2021)과 함께 당신은 곧 할 수 있을 것입니다.

다음 프로젝트 구조의 예를 생각해 보십시오.

https://maarten.mulders.it/2020/11/whats-new-in-maven-4/example-project_hu981f14f09d98e6139a671549a98c2057_118421_1037x555_resize_box_2.png

--also-make를 --resume-from과 함께 사용합니다.

원자로의 첫 번째 개선사항은 버그 수정이다.
이전에는 클라이언트 모듈에서 프로젝트 빌드에 실패했을 경우 빌드 재개에 관한 힌트를 얻을 수 있었습니다.--resume-from :client하지만 그렇게 하면 빌드가 다시 망가질 것입니다.이번에는 Maven이 공통 모듈을 찾을 수 없었기 때문입니다.
추가라고 생각하실 수 있습니다.--also-make(또는-am)은 이 문제를 해결하지만 해결되지는 않습니다.이 오래된 버그는 더 이상 존재하지 않는다.

조합하면--resume-from :client와 함께--also-makeReactor는 프로젝트 내의 모든 모듈을 검색하여 요청에 따라 빌드를 계속합니다.

마지막 장애 시점부터 자동으로 재개

하지만 아마 당신은 알아차리지 못할 것이다.에 관한 것--resume-from :client필요 이상의 생각을 하게 만든다는 거죠

Maven 4로, 당신은 당신의 삶을 훨씬 더 쉽게 만들고 , 또는 짧게 사용할 수 있습니다. 마지막으로 장애가 발생한 모듈에서 빌드가 자동으로 재개됩니다.

하지만 더 있어!병렬 빌드를 사용하고 있을 수 있습니다.한 시퀀스의 모듈이 정상적으로 구축되었지만 다른 시퀀스의 모듈 구축이 중단되었습니다.
이 시나리오에서는-r는 이전 빌드에서 성공한 모듈을 건너뜁니다.

이 두 가지 기능을 조합하면 대규모 엔터프라이즈 소프트웨어 프로젝트를 구축하는 데 필요한 시간을 크게 단축할 수 있습니다.

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

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

언급URL : https://stackoverflow.com/questions/2902322/can-we-start-the-maven-build-from-the-point-where-it-failed

반응형