검색

5.2. Spring Boot BOM 사용

download PDF

첫 번째 Spring Boot 프로젝트를 생성하고 빌드한 후 곧 더 많은 구성 요소를 추가하려고 합니다. 그러나 프로젝트에 추가할 Maven 종속 항목의 버전을 어떻게 알 수 있습니까? 가장 간단한(및 권장) 접근 방식은 관련 BOM(Bod of material) 파일을 사용하는 것입니다. 이 파일은 모든 버전 종속 항목을 자동으로 정의하는 것입니다.

5.2.1. BOM 파일 for Spring Boot

BOM(Maven bill of materials) 파일의 목적은 잘 작동하는 Maven 종속성 버전 집합을 제공하여 모든 Maven 아티팩트에 대해 버전을 개별적으로 정의할 필요가 없도록 하는 것입니다.

중요

사용 중인 Spring Boot 버전에 따라 올바른 Fuse BOM을 사용하고 있는지 확인합니다.

Fuse BOM for Spring Boot는 다음과 같은 이점을 제공합니다.

  • POM에 종속성을 추가할 때 버전을 지정할 필요가 없도록 Maven 종속 항목에 대한 버전을 정의합니다.
  • 특정 버전의 Fuse에서 완전히 테스트 및 지원되는 선별된 종속성 세트를 정의합니다.
  • Fuse 업그레이드 간소화.
중요

Fuse BOM에서 정의한 종속성 세트만 Red Hat에서 지원합니다.

5.2.2. BOM 파일 통합

BOM 파일을 Maven 프로젝트에 통합하려면 프로젝트의 pom.xml 파일(또는 상위 POM 파일)에 dependencyManagement 요소를 지정합니다.

Spring Boot 2 BOM

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project ...>
  ...
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!-- configure the versions you want to use here -->
    <fuse.version>7.11.1.fuse-sb2-7_11_1-00022-redhat-00002</fuse.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.jboss.redhat-fuse</groupId>
        <artifactId>fuse-springboot-bom</artifactId>
        <version>${fuse.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  ...
</project>

종속성 관리 메커니즘을 사용하여 BOM을 지정한 후 아티팩트 버전을 지정하지 않고 Maven 종속성을 POM에 추가할 수 있습니다. 예를 들어 camel-hystrix 구성 요소에 대한 종속성을 추가하려면 POM의 종속성 요소에 다음 XML 조각을 추가합니다.

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-hystrix-starter</artifactId>
</dependency>

Camel 아티팩트 ID를 -starter suffix Cryostat- Cryostat로 지정하는 방법에 유의하십시오. 즉 Camel Hystrix 구성 요소를 camel-hystrix -starter 로 지정합니다. Camel 시작 구성 요소는 Spring Boot 환경에 최적화된 방식으로 패키지됩니다.

5.2.3. Spring Boot Maven 플러그인

Spring Boot Maven 플러그인은 Spring Boot에서 제공하며 Spring Boot 프로젝트를 빌드하고 실행하기 위한 개발자 유틸리티입니다.

  • 프로젝트 디렉터리에 mvn 패키지를 입력하여 Spring Boot 애플리케이션에 대한 실행 가능한 Jar 패키지를 빌드 합니다. 빌드 출력은 Maven 프로젝트의 target/ 하위 디렉터리에 배치됩니다.
  • 편의를 위해 mvn spring-boot:start 명령을 사용하여 새로 빌드된 애플리케이션을 실행할 수 있습니다.

Spring Boot Maven 플러그인을 프로젝트 POM 파일에 통합하려면 다음 예와 같이 pom.xml 파일의 project/build/plugins 섹션에 플러그인 구성을 추가합니다.

예제

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project ...>
  ...
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!-- configure the versions you want to use here -->
    <fuse.version>7.11.1.fuse-sb2-7_11_1-00022-redhat-00002</fuse.version>

  </properties>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.jboss.redhat-fuse</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>${fuse.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>repackage</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.