【Maven】dependency의 버전을 Spring계의 내부 버전에 맞춘다【SpringBoot】

TL;DR


  • ${ユーザー}/.m2/repository/org/springframework/boot/spring-boot-dependencies/${Springのバージョン}.RELEASE/spring-boot-dependencies-${Springのバージョン}.RELEASE.pom 에 정의되어 있는 properties 는 프로젝트의 pom 에서도 참조할 수 있다
  • (정확하게는 pom

  • 업데이트가 쉬워집니다
  • 라이브러리 궁합 문제가 발생하기 어려워진다


  • 할 일


    properties 시스템 종속에 모듈을 추가하는 경우 등으로, 수동으로 properties 내의 의존에 맞추어 버젼을 관리하는 것은 번거롭기도 합니다.
    어차피라면 다양한 라이브러리의 버전이 dependency 의 버전에 맞추어 관리되고 있는 것이 여러분 편하기 때문에, 그 방법을 씁니다.

    방법


    SpringBoot 내의 spring-boot-starter 의 정보를 이용하는 것으로 할 수 있습니다.

    spring-boot-dependencies-2.2.6.RELEASE.pom에서 발췌
      ...
      <properties>
        <activemq.version>5.15.12</activemq.version>
        <antlr2.version>2.7.7</antlr2.version>
        <appengine-sdk.version>1.9.79</appengine-sdk.version>
        <artemis.version>2.10.1</artemis.version>
        <aspectj.version>1.9.5</aspectj.version>
        <assertj.version>3.13.2</assertj.version>
        ...
    

    Jackson의 예


    spring-boot-starter 를 예로 들어 보겠습니다.Spring 에서는 ${ユーザー}/.m2/repository/org/springframework/boot/spring-boot-dependencies/${Springのバージョン}.RELEASE/spring-boot-dependencies-${Springのバージョン}.RELEASE.pom 로 다음과 같이 정의됩니다.

    spring-boot-dependencies-2.2.6.RELEASE.pom에서 발췌
        <jackson.version>2.10.3</jackson.version>
        <jackson-bom.version>${jackson.version}</jackson-bom.version>
    

    이것을 프로젝트의 properties에서 도입하면 다음과 같이 쓸 수 있습니다.Jackson 로 변수를 참조합니다.

    pom.xml
            <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-json -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-json</artifactId>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-kotlin -->
            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-kotlin</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-csv -->
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-csv</artifactId>
                <version>${jackson.version}</version>
            </dependency>
    

    idea의 경우


    spring-boot-dependencies-2.2.6.RELEASE.pom 의 경우, 변수에 대한 보완이 효과가 있어 정의에 날 수 있습니다.
    이를 통해 효율적으로 원하는 변수를 찾을 수 있습니다.

    좋은 웹페이지 즐겨찾기