테스트 클래스를 빌드하지 않는 간단한 방법이 있습니까?
mvn clean install -Dmaven.test.skip=true
답변
에 따르면 문서 메이븐 확실한 플러그인에, -Dmaven.test.skip
해야 컴파일 및 테스트의 실행을 모두 건너 뜁니다. 대조적으로 -DskipTests
테스트 실행을 건너 뜁니다 . 테스트는 여전히 컴파일됩니다.
답변
명확하게하기 위해서 :
skipTests
에서 모든 것을 컴파일<testSourceDirectory>
하지만 실행하지는 않습니다 .
maven.test.skip
합니다 컴파일하지 어떤 테스트를하지만, 실행합니다 에 그들의 방법을 만든 컴파일 된 테스트를 <testOutputDirectory>
.
따라서 위 2의 동작은 반대입니다. maven.test.skip
테스트 파일이 압축 해제 / 복사되는 경우 컴파일 및 실행을 건너 뛰지 않는다는 점을 지적하고 싶었습니다 . 로 <testOutputDirectory>
.
또한 사용하는 Maven 버전에 따라 skipTests와 유사한 테스트 실행maven.test.skip.exec=true
을 추가로 건너 뛰는 것도 있습니다.
답변
예를 들어를 포함하지 않는 단계 를 실행합니다 .test-compile
compile
mvn clean compile
답변
나는 maven의 전문가는 아니지만 현재 프로젝트에서 사용하는 것은 다음과 같습니다.
mvn clean install -DskipTests=true
사용 사례에 따라 다음을 사용합니다.
mvn compile -DskipTests=true
당신에게도 도움이 될 것입니다.
답변
기본적으로 pom.xml에 다음 코드 조각을 추가하여 실제로 플러그인 실행을 재정의하는 다른 질문 에서 해결 방법을 찾았습니다 .
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-testCompile</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
이것은 작동하는 것처럼 보이지만 확실히 단계를 비활성화하지는 않지만 플러그인이 특정 단계에서 정의하는 기본 작업을 비활성화합니다.