pom.xml에 의존성 추가
1. 라이브러리 버전 충돌 해결을 위한 의존성 추가
spring-boot-starter-parent
==> 프로젝트에 수많은 라이브러리를 추가 할 경우 버전에 따라 충돌이 나는 경우가 많은데 Spring-boot의 starter가 의존성 조합을 제공해 줄 때 start-parent는 해당 의존성 조합들간 충돌 문제가 없는 검증된 버전들을 조합해서 의존성을 추가해 주는 기능을 한다.
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.13.RELEASE</version>
</parent>
mvnrepository, GitHub 에서 확인 가능.
위와 같이 spring-boot-starter-parent의존성만 추가를 해 주면 수많은 버전 충돌 문제를 쉽게 해결할 수 있다.
2. 웹을 사용하기 위한 의존성 추가
spring-boot-starter-web
==> 웹을 사용하기 위해서 아래 의존성을 추가한다.
<!-- Add typical dependencies for a web application -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3. Maven 빌드 플러그인 추가
spring-boot-maven-plugin
==> 실행 가능한 jar파일을 만들수 있게 하는 플러그인을 추가한다.
<!-- Package as an executable jar -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
완성된 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.13.RELEASE</version>
</parent>
<!-- Add typical dependencies for a web application -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- Package as an executable jar -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
위의 기본 의존성들만 추가하고 프로젝트를 생성하게 되면 버전충돌없는 수많은 라이브러리를 자동으로 다운받을 수 있고, 웹도 제작할 수 있고, 배포도 할 수 있는 모든 기본적인 환경 설정을 마무리 할 수 있습니다.