- compile
이것은 아무 것도 지정되지 않은 경우 사용되는 기본 범위입니다. 컴파일 종속성은 프로젝트의 모든 클래스 경로에서 사용할 수 있습니다. 또한 이러한 종속성은 종속 프로젝트에 전파됩니다. - provided
이 범위의 종속성은 컴파일 및 테스트에 사용되는 클래스 경로에 추가되지만 런타임 클래스 경로에는 추가되지 않습니다. - runtime
이 범위는 종속성이 컴파일에는 필요하지 않지만 런타임에는 필요함을 나타냅니다. Maven은 런타임 및 테스트 클래스 경로에 이 범위의 종속성을 포함하지만 컴파일 클래스 경로는 포함하지 않습니다. - test
이 범위는 종속성이 응용 프로그램의 일반적인 사용에 필요하지 않으며 테스트 컴파일 및 실행 단계에서만 사용할 수 있음을 나타냅니다. 이 범위는 전이적이지 않습니다. 일반적으로 이 범위는 JUnit 및 Mockito와 같은 테스트 라이브러리에 사용됩니다. Apache Commons IO와 같은 비테스트 라이브러리가 단위 테스트(src/test/java)에서 사용되지만 모델 코드(src/main/java)에서는 사용되지 않는 경우에도 사용됩니다. - system
이 범위는 provided명시적으로 포함하는 JAR을 제공해야 한다는 점 을 제외하고 는 유사합니다 . 아티팩트는 항상 사용 가능하며 저장소에서 조회되지 않습니다. - import
이 범위하는 유일한 유형의 종속성에서 지원됩니다 pom의 <dependencyManagement>섹션을 참조하십시오. 종속성이 지정된 POM <dependencyManagement>섹션 에 있는 종속성의 유효 목록으로 대체됨을 나타냅니다 . 대체되기 때문에 범위가 인 종속성은 import실제로 종속성의 전이성을 제한하는 데 참여하지 않습니다.
'개발 > maven' 카테고리의 다른 글
maven 저장소에 없는 외부 라이브러리 추가 (0) | 2022.01.12 |
---|---|
jar를 가져올 수 있는 메이븐 저장소 (0) | 2022.01.12 |
Dependency 중복 jar 정리 (의존성 해제) (0) | 2021.12.16 |
댓글