2010.05.04 00:14
Maven은 의존하여 사용하고 있는 라이브러리의 성격에 따라 사용범위를 지정할 수 있다.
JUnit과 같은 라이브러리는 테스트에만 사용하며 배포시에는 필요하지 않다.

 라이브러시 사용범위에 따른 5가지 Scope의 의미
Scope  적용범위
compile  scope를 지정하지 않은 경우 기본범위.
 컴파일할 때도 사용되고, 배포할  때도 포함되어야 하는 라이브러리 
provided   컴파일 시점에는 필요하지만, 배포할 때는 포함되지 않는 라이브러리.
 예를 들어, servlet.jar는 서블릿컨테이너에서 제공되므로 컴파일시에는 필요하지만 배포될 필요는 없음 
runtime  컴파일 시에는 사용되지 않지만 실행시에는 필요한 라이브러리 
test  테스트 컴파일 및 테스트 실행 시에만 사용되는 라이브러리
 예를들어, JUnit은 테스트시에만 필요함
system  provided와 유사하나, jar파일을 저장소(repository)에서 검색하지 않음. 즉 jar파일을 직접 제공해 주어야 함  


Posted by kimgisa.net

티스토리 툴바