2012-10-01 2 views
2

Maven 다중 모듈 프로젝트를 사용 중입니다. 내가 받는다는을 실행하고 모듈 중 하나가 실패하면 나는 오류 메시지를 가져온 다음Maven은 마지막 명령을 쉽게 다시 실행할 수 있도록 상태를 기억합니까?

After correcting the problems, you can resume the build with the command 
    mvn <goals> -rf :my.module.name 

합니까 메이븐 다음 줄은 상태를 유지? 가능

mvn <goal> `start from where we left off` 

내 모듈 이름의 일부는 매우 긴 것을 물어 그 이유를 실행하는 것입니다. 나는 cmd를 프롬프트에서 복사 할 수 있지만 나는 더 빠른/짧은 명령을하고 싶습니다. 종종 몇 초 절약하면 많이 보이지 않을 수도 있지만 내 멘이 사용하는 동안 그것은 나를 많이 구할 수 있습니다.

문제는

  • 받는다는 홀드 상태를 않습니다입니까?
  • 만약 내가 그만 둔 곳에서 재실행 할 수 있다면?

감사

+0

저는 그러한 옵션을 알지 못합니다. 어쩌면 내 빌드가 자주 실패하지 않고 명령 줄에서 복사/붙여 넣기만으로 충분합니까? =) –

+0

Maven의 메시지가 이미이 작업을 수행하는 방법을 알려주는 것처럼 보입니다. 문제가 모듈 이름이 지나치게 긴 경우 스크립트 또는 별칭을 작성하거나 명령 기록 검색 기능이있는 셸을 사용하여 쉽게 만들 수 있습니다. –

답변

1

미리로드 된 쉘 환경에서 Maven Shell을 사용하여 메이븐 목표/단계를 실행할 수 있으므로 빌드 시간이 크게 줄어 듭니다.

+0

Maven Shell을 어디에서 다운로드 할 수 있는지 알고 계십니까? 내가 찾은 모든 링크는 죽었습니다 ... :( – RNJ

+0

http://repo2.maven.org/maven2/org/sonatype/maven/shell/dist/mvnsh-assembly/1.0.1에서 Maven repo에서 다운로드 할 수 있습니다. /mvnsh-assembly-1.0.1-bin.zip –

+0

감사합니다. @EugeneKyleshov – RNJ

1

아니,하지만 당신이 그들을 개별 모듈에 가서 만들 수있다 -이 방금 그렇지 않으면 혼란 결과를 얻을 수있는 올바른 순서로 그들을 통해 갈 필요가 무엇을 받는다는 본질에 (예 : 오래된 종속 모듈 빌드 등). 원자로 빌드 요약에는 빌드가 시작될 때 빌드되고 표시되는 모듈 빌드 순서가 표시됩니다.

결국 최종 아티팩트를 만들기 위해 항상 상위 모듈에서 전체 빌드를 수행해야합니다. 그리고 어쨌든 상단에서 실행하는 것이 가장 쉬운 경우가 많습니다.

0

아니요 - 적어도 제 경험상 Maven은 상태를 유지하지 않습니다. mvn package을 실행하는 경우 특히 중요합니다. 다중 모듈 프로젝트에서 mvn package을 실행하면 (모든 모듈은 이전 모듈의 생성 된 이슈를 사용할 수 있습니다.) 빌드가 중단되면 빌드 중간에서 다시 시작하면 참조 할 때 아티팩트를 찾을 수없는 오류가 발생합니다 모듈을 이전에 성공적으로 빌드했습니다.

두 가지 방법이 있습니다. 모든 것을 다시 빌드하거나 mvn install을 사용하여 로컬 레포에 maven을 설치해야합니다 (배포 준비가되지 않은 경우). 이 경우 이전에 빌드 된 모듈을 로컬 저장소에서 찾을 수 있기 때문에 빌드를 다시 시작해도 실패하지 않습니다.

개인 애완 동물과 마찬가지로 -rf 플래그를 사용할 때 모듈 이슈 이름을 알아야합니다. Maven은 아티펙트 이름 일 수도 아닐 수도있는 표시 이름을 보여줍니다. -rf에는 이슈 이름이 필요합니다.

관련 문제