2010-01-20 2 views
1

Maven2 pom.xml 파일에 대한 사용자 정의 프로파일을 생성하여 surefire 플러그인을 사용하여 테스트 관련 종속성 및 설정을 격리하려고하지만 설명서에 다소 혼란 스럽습니다. 궁극적으로 junit/etc가 프로덕션 배포 패키지에 포함되는 것을 원하지 않습니다.Maven2 테스트 용 사용자 정의 프로파일

누구나 나를 시작할 수있는 예가 있습니까?

답변

3

프로파일을 필요로하지 않습니다. 실제로 프로파일을 사용하려면 할 수 있지만 필요는 없습니다.) Maven에는 이 종속성의 전이성을 제한 할 수있는 내장 기능이 있으며 은 다양한 빌드 작업에 사용되는 클래스 경로에 영향을 미친다. 이 기능은 Dependency Scope라고하며이 문서는 테스트 범위에 대해 글을 것입니다 :

이 범위는 종속성이 응용 프로그램의 정상적인 사용이 필요하지 않음을 나타냅니다, 시험에만 사용할 수 있습니다 컴파일 및 실행 단계.

그래서, 당신은 테스트 단계에서 종속성을 사용하고 싶지만 그냥 시험 범위로 선언, 그것은 마지막 유물로 포장하고 싶지 않는 경우 :

<project> 
    ... 
    <dependencies> 
    ... 
    <dependency> 
     <groupId>group-a</groupId> 
     <artifactId>artifact-b</artifactId> 
     <version>1.0</version> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 
</project> 
3

매우 간단합니다. 다음과 같이 junit 종속성을 선언하십시오.

<dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.0</version> 
     <type>jar</type> 
     <scope>test</scope> 
     <optional>true</optional> 
</dependency> 

범위는 배포 패키지에 junit 라이브러리가 나타나지 않도록합니다. 그리고 maven이 소스가 src/test/java 폴더에있는 경우 테스트 패키지를 볼 수 없습니다.

관련 문제