libro
www.tuyano.com
初心者のためのApache Maven入門

pom.xmlファイルの基本を理解しよう (1/4)

作成:2017-10-14 11:23
更新:2017-10-14 11:23

■pom.xmlこそがMavenのキモ!

Mavenは、コマンドを使って簡単にプロジェクトの作成やビルドが行なえます。が、サンプルとして作成したプロジェクトは、ただApp.javaというソースコードファイルがあるだけのシンプルなものでした。

Mavenの強みは、さまざまなライブラリやフレームワークなどを利用する場合も、それらをすべてMavenが管理してくれる点にあります。こうした「プロジェクトの管理」を行うためには、ただMavenコマンドを実行するだけでは済みません。プロジェクトを管理している「ビルドファイル」というものについて理解する必要があります。

プロジェクトのフォルダを開くと、そこに「pom.xml」という名前のファイルが用意されているのがわかります。POMとは、「Project Object Model」の略で、プロジェクトのさまざまな情報を扱うためのオブジェクトモデルです。pom.xmlでは、プロジェクトの設定をXMLのタグとして記述していきます。

では、デフォルトでどのようなソースコードが書かれているのか見てみましょう(下リスト参照)。

これがpom.xmlの基本コードといっていいでしょう。もう少し余計なものをすべて取っ払ってしまうと、基本コードは以下のようになります。
<project ……略……>

    <modelVersion>4.0.0</modelVersion>
    <groupId>グループID</groupId>
    <artifactId>アーティファクトID</artifactId>
    <version>バージョン</version>
    <packaging>jar</packaging>
    <name>名前</name>

    <properties>
        ……プロパティ情報……
    </properties>

    <dependencies>
        ……依存ライブラリ情報……
    </dependencies>

</project>

pom.xmlは、<project>というルートタグ内にすべての情報を記述します。この<project>には、xmlnsとかxmlns:xsiとかsxi:schemaLocationとかややこしそうな属性がいろいろついてますが、これらは全部決まった値なので、「コピペして使えばOK」と考えて下さい。必要に応じて修正する部分などはありません。

後は、必要な情報をタグで記述していくだけです。では、それぞれの内容を整理していきましょう。

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

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

●プログラム・リスト●

<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</groupId>
    <artifactId>SampleMavenApp</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>SampleMavenApp</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
※関連コンテンツ

「初心者のためのApache Maven入門」に戻る