본문 바로가기
DevOps/Tools

[Maven] 아파치 메이븐 Dependency 의 <scope> 옵션

by breezyday 2022. 6. 20.

아파치 메이븐에서 Depedency 설정에서 <scope> 옵션은 6가지를 지원하고 있습니다. 

 

<scope> 옵션을 생략하면 기본값으로 <scope>compile</scope>을 적용한 것과 같습니다. 

 

Maven Dependency의 <scope> 옵션

Scope 옵션 설명
compile - 기본 Scope, 미입력시에 적용.
- 모든 상황(컴파일,배포)에서 포함한다.
provided - 컴파일 시점에만 포함, 배포 시점에 제외
- 운영환경에서 jar파일 중복 문제가 발생할 경우 이 옵션으로 설정
예) JDK, Servlet API, Java EE API 등은 운영환경 및 WAS의 jar 사용
runtime - 컴파일 시점에는 제외, runtime 시점에 포함
system - Maven Repository에서 검색하지 않고 시스템 내명시된 위치의 jar를 사용
- systemPath 엘리먼트 사용
- provided처럼 컴파일 시점에만 포함
test - 테스트 컴파일과 실행 시점에만 사용
예) easymock, JUnit 등
import - Maven 2.0.9 이후에서만 적용
- 다른 POM 설정 파일에 정의되어 있는 의존 관계 설정을 현재 프로젝트에 적용.
- <dependencyManagement>에서만 사용할 수 있음.

 

 

보다 상세한 설명과 예제는 아래 링크에 있습니다.

 

Apache Maven - Dependency Mechanism

 

 

 

 

 

댓글