libro
www.tuyano.com
初心者のためのSpring Bootプログラミング入門

MavenでJavaプロジェクトを作ろう (3/5)

作成:2014-06-14 10:33
更新:2015-04-23 08:39

■pom.xmlを作成する

Mavenでプロジェクトを作成するには、「pom.xml」というファイルを使います。これは、作成された「BootApp」フォルダ(プロジェクトのフォルダ)を開くとそこに作成されています。

このファイルを開いて、下のリストのように記述しましょう。これが、JavaのSpring Bootプロジェクトで必要となるライブラリなどを記述したものです。pom.xmlは、<project>内に記述されるいくつかのタグによってライブラリなどを指定しています。簡単に整理しましょう。


●アプリケーションの設定
<groupId>com.tuyano.libro.bootapp</groupId>
<artifactId>BootApp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
これらは、先ほどプロジェクトを作成する際に入力したものですね。このプロジェクトで作成するアプリケーションの情報が記述されています。

●spring-boot-starter-parentの指定
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.3.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>
ここでは、spring-boot-starter-parentというものを指定しています。これはpom.xmlの継承を指定するものです。ここでspring-boot-starter-parentを指定することで、あらかじめ用意されているSpring Boot用のpom.xmlを継承し、必要なライブラリなどが自動的に組み込まれるようになるのです。

●起動プログラムの設定
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <start-class>com.tuyano.libro.bootapp.App</start-class>
    <java.version>1.8</java.version>
</properties>
この<properties>タグ内には、プログラムのエンコード、起動するクラス、使用するJavaのバージョンなどの情報がまとめられています。

●ライブラリの設定
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
<dependencies>タグの中には、使用するライブラリの設定が記述されます。ここでは、spring-boot-starter-webというものを指定しています。これは、Spring BootでWebアプリケーションを作成する際に必要となるものです。

もう1つのspring-boot-starter-testは、ユニットテストに関するライブラリの設定です。これによりテスト用コードの生成やライブラリの追加などが自動化されます。

Spring BootでWebアプリケーションを作成するとき、必要となるライブラリは基本的にこの2つだけです。といっても、これはWebアプリケーションの基本部分だけなら、です。それにさまざまな機能を追加しようと思ったら、そのためのライブラリをここに追記していきます。

●プラグインの設定
<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
</plugins>
<build>タグには、ビルドに関する情報が記述されます。ここでは<plugins>というタグの中にプラグイン情報を記述しています。追加しているのは、spring-boot-maven-pluginというプラグインです。これはSpring Bootプロジェクトを起動するのに使われるものです。これにより、Mavenコマンドでプロジェクトを起動できるようになります。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

<?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.tuyano.libro.bootapp</groupId>
    <artifactId>BootApp</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>BootApp</name>
    <description>libro sample project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.3.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <start-class>com.tuyano.libro.bootapp.App</start-class>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </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>
※関連コンテンツ

「初心者のためのSpring Bootプログラミング入門」に戻る