[java] 테스트없이 Maven 패키지 / 설치 (건너 뛰기 테스트)

내 프로젝트를 패키지하려고합니다. 그러나 이전에 패키징을 수행하는 테스트를 자동으로 실행합니다. 테스트는 데이터베이스에 일부 내용을 삽입합니다. 이것은 내가 원하는 것이 아닙니다. 응용 프로그램을 패키지하는 동안 테스트를 실행하지 않아야합니다. 아무도 테스트하지 않고 패키지를 실행하는 방법을 알고 있습니까?



답변

로 maven을 실행

mvn package -Dmaven.test.skip=true 


답변

테스트 케이스 실행을 무시하는 아래 언급 된 명령 만 제공하십시오.

mvn package -DskipTests


답변

명령 행 arg를 설정하지 않으려면이 플러그인 구성을 pom에 추가 할 수 있습니다.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <skipTests>true</skipTests>
  </configuration>
</plugin>


답변

-Dmaven.test.skip는 Maven이 테스트 jar 아티팩트를 빌드하지 못하게합니다.

테스트를 건너 뛰고 일반 빌드에 따라 아티팩트를 작성하려면 다음을 사용하십시오.

-Dmaven.test.skip.exec


답변

Windows Powershell에서이 작업을 시도하면 다음 오류가 발생합니다.

[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format...

그 이유는 Powershell에서 ” -“은 특별한 의미를 가지며 maven에 문제를 일으키기 때문입니다.

해결책은 백틱 (`)을 앞에 붙이는 것입니다.

mvn `-Dmaven.test.skip=true install 

참조 : http://kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/


답변

<properties>
    <maven.test.skip>true</maven.test.skip>
</properties>

또한 pom 파일에 추가하는 방법입니다


답변

maven.test.skip패키지 단계 (및 기본 라이프 사이클의 이전 단계)가 실행될 때 실행중인 테스트를 건너 뛰기 위해 플래그를 JVM 인수로 전달할 수 있습니다 .

mvn package -Dmaven.test.skip=true

skipTests플래그를 mvn 실행 파일에 단독으로 전달할 수도 있습니다 . 당신이 당신의 POM에이 정보를 포함 할 경우, 당신은 당신이를 구성 할 수있는 새로운 프로필을 만들 수 있습니다 maven-surefire-plugin검사를 생략을 .