그레이들 대신 메이븐으로 프로젝트를 빌드하도록 선택하면 Spring Initializr는 코드 2-4와 같이 스프링 부트 메이븐 플러그인을 사용하는 pom.xml 파일을 만든다.3
코드 2-4 스프링 부트 메이븐 플러그인과 부모 스타터 사용
<?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
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.manning</groupId>
<artifactId>readinglist</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Reading List</name>
<description>Reading List Demo</description>
<parent> <!-- 부모 스타터에서 버전 상속 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.6.RELEASE</version>
<relativePath/> <!-- 리포지토리에서 부모 검색 -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies> <!-- 스타터 의존성 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin> <!-- 스프링 부트 플러그인 적용 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3 역주
메이븐이 기본 빌드 도구이므로 --build 옵션을 생략하거나 명시적으로 --build maven으로 지정한다. 그레이들 빌드로 초기화한 상태에서 메이븐 빌드를 추가하려면 다음과 같이 --force 옵션을 지정해야 한다.
$ spring init -d=web,thymeleaf,data-jpa,h2 --groupId=com.manning --artifactId=readinglist --name="Reading List" --package-name=readinglist --description="Reading List Demo" --build maven --force readinglist