LoginSignup
36
37

More than 5 years have passed since last update.

Spring Boot:Mavenを使ってビルド環境を構築する

Posted at

Spring Boot:Mavenを使ってビルド環境を構築する

1. はじめに

Spring BootはMavenを使ったビルド環境を提供しています。
ここでは、Mavenを活用したSpring Bootのビルド環境の構築方法について説明します。

2. 事前準備

以下の環境を準備してください。

ソフトウェア名 バージョン
Java 1.8
Maven 3.2.3

3. ビルド環境を構築する

3.1. Parent POMの指定

spring-boot-starter-parentをParent POMとして継承することで、Spring Bootが提供する標準の設定をビルド環境に組み込むことができます。

Spring Bootが提供する設定には以下のものがあります。

Spring Bootが提供する標準の設定をビルド環境に組み込む場合、以下のタグを設定します。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.1.9.RELEASE</version>
</parent>

※) 以下の理由によりspring-boot-starter-parentをParent POMとして継承できない場合、以下のタグを設定します。

  • 所属するプロジェクトが独自のParent POMを提供している場合
  • Mavenの設定を独自で行いたい場合
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.1.9.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

3.2. Javaのバージョンの指定

spring-boot-starter-parentをParent POMとして継承している場合、Javaのバージョンは1.6が標準で設定されています。(Spring Bootはかなり保守的なJava互換性を選択します。)

例として、1.8のバージョンを利用したい場合は以下のタグを設定します。

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

3.3. Spring Boot Maven Pluginの指定

Spring Bootは実行可能なJARファイルとしてパッケージングするためのMavenプラグインを提供しています。このプラグインを使う場合、以下のタグを設定します。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

4. サンプル

MavenのPOMファイルのサンプルを以下に記載します。

4.1. spring-boot-starter-parentを継承する場合

<?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.skinoshita.springbootsample</groupId>
    <artifactId>spring-boot-maven-sample</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.1.9.RELEASE</version>
    </parent>

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

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <!-- Starter POMsの指定 -->

</project>

4.2. spring-boot-starter-parentを継承しない場合

<?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.skinoshita.springbootsample</groupId>
    <artifactId>spring-boot-maven-sample</artifactId>
    <version>1.0-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>1.1.9.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!-- Starter POMsの指定 -->

</project>

5. 参考資料

Spring Boot Reference Guide : http://docs.spring.io/spring-boot/docs/1.1.9.RELEASE/reference/htmlsingle/#using-boot-maven
36
37
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
37