복붙노트

[SPRING] 메이븐 BOM [Bill of Materials] 종속성

SPRING

메이븐 BOM [Bill of Materials] 종속성

나는 bom 객체의 목적이 무엇인지 이해하지 못하고 있습니까? 그리고 Spring 3.2.8 버전과 JBoss 서버로 작업 중이므로 어떤 BOM 종속성을 사용해야합니까? pom.xml에서 다음 종속성을 언급 할 때 :

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-framework-bom</artifactId>
            <version>4.0.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
</dependency>

jar 파일이 Maven Dependencies에 다운로드됩니까?

해결법

  1. ==============================

    1.Maven 부모 - 자식 관계는 한 곳에서 여러 프로젝트의 종속성을 관리하는 데 매우 편리합니다. 그러나 Maven 프로젝트는 하나의 (직접적인) 상위 항목 만 가질 수 있습니다. 따라서 종속성을 관리하기 위해 여러 프로젝트를 사용할 수 있도록 가져 오기가 종속성 관리를 위해 도입되었습니다. 가져 오기를 사용하면 이와 같은 단일 종속성을 정의하고 여러 종속성을 편리하게 관리 할 수 ​​있습니다! 모든 프로젝트를 가져올 수 있지만 BOM은 이와 같은 가져 오기에 사용하도록 설계된 특수 프로젝트입니다. 일반적으로 BOM 프로젝트는 dependencyManagement 섹션 외에 거의 정의되지 않으며 관련없는 의존성을 가지지 않으므로 주 프로젝트에 너무 많은 영향을 미치지 않습니다.

    Maven 부모 - 자식 관계는 한 곳에서 여러 프로젝트의 종속성을 관리하는 데 매우 편리합니다. 그러나 Maven 프로젝트는 하나의 (직접적인) 상위 항목 만 가질 수 있습니다. 따라서 종속성을 관리하기 위해 여러 프로젝트를 사용할 수 있도록 가져 오기가 종속성 관리를 위해 도입되었습니다. 가져 오기를 사용하면 이와 같은 단일 종속성을 정의하고 여러 종속성을 편리하게 관리 할 수 ​​있습니다! 모든 프로젝트를 가져올 수 있지만 BOM은 이와 같은 가져 오기에 사용하도록 설계된 특수 프로젝트입니다. 일반적으로 BOM 프로젝트는 dependencyManagement 섹션 외에 거의 정의되지 않으며 관련없는 의존성을 가지지 않으므로 주 프로젝트에 너무 많은 영향을 미치지 않습니다.

    BOM은 요구 사항이 아니므로 둘 중 하나를 사용할 필요가 없습니다. 대신 dependencyManagement 섹션에서 모든 관리 종속성을 직접 정의 할 수 있습니다. 여기에는 Spring, JBoss 및 기타 종속성이 포함될 수 있습니다. 그러나 BOM은 이러한 문제를 상당히 단순화합니다. 원하는만큼 BOM을 추가 할 수 있으므로 두 가지를 모두 추가하십시오! 그러나 @Jesper가 언급했듯이 올바른 버전을 사용하는 것을 잊지 마십시오. 여러 BOM을 사용할 때 둘 다 공통 종속성을 참조하면 순서가 중요합니다.

    알림 BOM은 기본 jar가 아닌 pom 입니다. 따라서 다운로드 할 항아리가 없습니다. 단일 pom.xml 파일은 Maven에서 다운로드하여 읽을 수 있습니다.

  2. from https://stackoverflow.com/questions/38496022/maven-bom-bill-of-materials-dependency by cc-by-sa and MIT license