728x90
반응형
의존 라이브러리의 적용 스코프
메이븐은 사용하는 라이브러리 성격에 따라 스코프를 지정할 수 있다. Junit 은 테스트시에만 필요하고 실제 배포할 때는 필요없는 라이브러리이다. 각 라이브러리에 대한 스코프는 < dependency/> 아래에 < scope/> 엘리먼트로 설정할 수 있다.
Junit 라이브러리를 테스트 스코프에서만 의존 관계를 갖도록 설정할 수 있다.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
6가지 스코프 설명
- compile : 기본 스코프, 컴파일 및 배포할 때 같이 제공해야 하는 라이브러리
- provided : 예를 들어 servlet.jar는 서블릿 컨테이너에서 제공하므로 컴파일 시점에는 필요하지만, 애플리케이션을 배포할 때 포함할 필요는 없다. (컴파일시점에사용하고 배포시점에는 포함 x, was에서 제공되기 때문에)
- runtime : 컴파일 시에는 사용되지 않지만 애플리케이션을 실행할 때 사용되는 라이브러리 설정
- test : 테스트 시점에만 사용하는 라이브러리에 대한 스코프
- system : system 스코프는 provided와 비슷 (단지 우리가 직접 jar 파일을 제공해야 함. 따라서 이 스코프의 jar 파일은 저장소에서 관리되지 않을 수 있다.)
- import : 다른 POM 설정 파일에 정의되어 있는 의존 관계 설정을 현재 프로젝트로 가져온다. 범위는 < dependencyManagement/> 엘리먼트에서만 사용 가능
=> system 과 import 스코프는 한번도 써본적 없음
728x90
반응형
'프로그래밍 노트 > 빌드도구' 카테고리의 다른 글
[Maven] 메이븐 속성(properties, pom/project, settings ...) (0) | 2019.03.31 |
---|---|
[Maven] 메이븐 의존성 전이 (0) | 2019.03.31 |
[Maven] 메이븐 의존 라이브러리 관리 (0) | 2019.03.31 |
[Maven] 메이븐 저장소 (0) | 2019.03.31 |
[Maven] 메이븐 기본 페이즈와 플러그인_2(테스트, 패키징) (0) | 2019.03.31 |