[Spring boot 토이프로젝트]2. 의존성 관리/응용

Yu River·2022년 7월 20일
0

Spring boot의 특성 : 의존성 관리 기능

(1) parent pom 탐색

  • parent를 계속 타고 올라간다.

spring-boot-starter-parent

spring-boot-dependencies

  • 가장 위에 있는 의존성이다.
  • spring-boot-dependencies에서 관리하는 의존성은 따로 버전을 명시/관리하지 않아도 된다.
  • spring-boot-starter-web 의 버전도 spring-boot-dependencies에서 확인할 수 있다.
  • 버전 관리 안해주는 의존성 추가의 경우 버전을 명시해야한다.

(2) 버전 관리 해주는 의존성 추가하기

spring-boot-dependencies

  • spring-boot-dependencies에서 관리하는 의존성은 따로 버전을 명시/관리하지 않아도 된다.
  • spring-boot-dependencies는 가장 위에 있는 의존성이다.
  • spring-boot-dependencies에서 관리하는 의존성은 따로 버전을 명시/관리하지 않아도 된다.
  • spring-boot-starter-web 의 버전도 spring-boot-dependencies에서 확인할 수 있다.
    다음은 spring-boot-dependencies에서 명시된 spring-boot-starter-web 의 버전이다.
  • 다음 pom.xml에서 볼 수 있듯이 pom.xml에서는 버전을 직접 명시해주지 않아도 된다.

(3) 버전 관리 안해주는 의존성 추가하기

  • 버전 관리 안해주는 의존성 추가의 경우 버전을 명시해야한다.
  • 링크 : https://mvnrepository.com/
  • mvnrepository에서 필요한 의존성을 찾을 수 있다.

1. 추가한 의존성에 버전 명시하기

  • 아래 pom.xml에 추가한 modelmapper처럼 의존성에 버전을 명시하면 된다.

pom.xml

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
      <!-- https://mvnrepository.com/artifact/org.modelmapper/modelmapper -->
  <dependency>
      <groupId>org.modelmapper</groupId>
      <artifactId>modelmapper</artifactId>
      <version>3.1.0</version>
  </dependency>

</dependencies>

(3) 기존 의존성 버전 변경하기

1. parent에 명시되어 있는 의존성들을 pom.xml로 가져와 오버라이딩 할 수 있다.

[예시1] java , spring 버전 명시 (위치 : pom.xml)

  <properties>
    <java.version>1.8</java.version>
    <spring.version>5.0.6</spring.version>
  </properties>

[예시2] 플러그인 버전 명시 (위치 : pom.xml)

  • parent 의존성인 spring-boot-dependencies 에서 가져온 mojo 플러그인을 pom.xml에 그대로 붙여넣기하여 원하는 버전을 명시하면 직접 기재한 버전으로 오버라이딩 된다.
<plugin>
	<groupId>org.codehaus.mojo</groupId>
	<artifactId>build-helper-maven-plugin</artifactId>
	<version>원하는 버전 명시</version>
 </plugin>
profile
도광양회(韜光養晦) ‘빛을 감추고 어둠속에서 힘을 기른다’

0개의 댓글