2010-11-22 5 views
3

Maven 다중 모듈 프로젝트를 진행 중입니다. 주어진 모듈을 만들고 단위 테스트를 건너 뛰고 빌드 프로세스를 빠르게하고 싶습니다.Maven reactor를 사용할 때 테스트를 건너 뛰는 방법은 무엇입니까?

나는 다음 시도했다 :

mvn reactor:make -Dmake.folders=search -Dgoals=package,-DskipTests

mvn reactor:make -Dmake.folders=search -Dgoals=package -Dmaven.test.skip=True

그러나이 전혀 효과가 없습니다. 모든 단서?

답변

6

첫 번째 줄은 올바른 생각이지만, 대신 -Dgoals-Dmake.goals을 사용해야합니다. reactor plugin examples page에서

:

반응기 플러그인은 마술을 할 메이븐의 두 번째 사본을 시작합니다. 이 Maven 사본에는 반드시 이 --debug 플래그, 시스템 등록 정보 및 -DskipTests를 포함하여 에 의 첫 번째 복사본으로 전달 된 모든 플래그와 옵션을 가질 필요는 없습니다.

당신은이 같은 -Dmake.goals와 목표로 치료하여 양산 메이븐 에 추가 인수를 전달할 수 있습니다에서 "목표는"단지 추가 - 명령이다 즉

mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests 

행 매개 변수가 생성 된 Maven에 을 전달했습니다. 그들은 이 반드시 "목표"가되어야합니다.

정말 멋진 얻고 싶은 경우에, 당신 위에서 설명한 -Dmake.printOnly 모드에서 바로 드라이 런 원자로 플러그인을, 하는 것이 좋습니다. 그러면 플러그인을 빌드하는 데 사용한 명령을 인쇄 할 수 있지만 그 내용은 명령 줄을 조정할 수 있습니다!

+1

그게 그것을 박 았 !! Dodals에서 누락 된 "make"에 이르는 모든 것이있었습니다. 감사. –

2

실행중인 명령 줄 인수에 -Dmaven.test.skip=true (대소 문자 구분) 옵션을 포함시켜 보았습니까? Java와 마찬가지로 Maven은 대소 문자를 구분합니다. 그러나 일반적으로 = true 부분을 삭제할 수 있으며 테스트를 건너 뛸 수도 있습니다. 에

/ 
    A/pom.xml 
    B/pom.xml 
    C/pom.xml 
    D/pom.xml 
    E/pom.xml 
    pom.xml (parent pom file that includes A,B,C,D,E modules) 

유사 프로젝트 구조 감안할 때

+0

이것은 나를 위해 작동하지 않습니다. 내가 시도한 행은 다음과 같다. mvn reactor : make -Dmake.folders = search -Dgoals = package, -Dmaven.test.skip = true –

+3

-Dgoals와 -Dmaven.test.skip 사이에 쉼표가 있다고 가정하고있다. 오타입니다. 그렇다면 효과적인 pom.xml 파일을 생성 해 보았습니다. pom.xml 파일의 일부가 명령 줄 테스트 건너 뛰기를 무시할 수 있습니다.명령 행이 settings.xml과 pom.xml의 내용을 덮어 써야하기 때문에 이상합니다. 효과적인 pom.xml을 생성하려면 다음을 실행하십시오. ==> mvn help : effective-pom. 확실한 플러그인을 찾아 skipTests가 설정되어 있는지 확인하십시오. – jgifford25

3

당신의

mvn reactor:make -Dmake.folders=C,D,E -Dgoals=package -Dmaven.test.skip=True 

내 접근 방식은 원자로 플러그인이하는 무엇을 정확하게 않지만, 나는 다음과 같은 접근 방식은 잘 작동 발견 있는지 확실하지 않습니다 만 나를 위해 충분하다

mvn -pl=C,D,E -DskipTests=true package 
+0

maven.test.skip 또는 skipTests를 사용할 수 있습니다 (Surefire와 다른 스위트를 동일하게 사용해야하는 경우) – nivekastoreth

+2

동일하게 작동하지 않습니다. maven.test.skip은 테스트를 빌드하지 않으며, skipTests는 테스트를 빌드하지 않습니다. 다른 모듈이 테스트 jar (다른 모듈 테스트 간의 종속성)에 대한 종속성을 정의하면 모듈이 컴파일되지 않습니다. – Christoph

관련 문제