Apache Maven入門ガイド

Apache Mavenの基本概念

Apache Mavenは、Javaプロジェクトを管理しビルドするための強力なツールです。Mavenはプロジェクトの依存関係管理、ビルドプロセスの標準化、ドキュメント生成といった機能を提供します。このガイドでは、Mavenの基本的な使い方を段階的に説明します。

1. Mavenのインストール

  1. Mavenのダウンロード:

    Maven公式サイトから最新版をダウンロードします。

  2. Mavenの展開:

    ダウンロードしたファイルを指定ディレクトリ(例: /opt/maven や C:\maven)に展開します。

  3. 環境変数の設定:

    MavenのbinディレクトリをシステムのPATH環境変数に追加します。

    • Linux/macOS:
      export PATH=/opt/maven/bin:$PATH
    • Windows:

      システム環境変数に C:\maven\bin を追加します。

  4. インストールの確認:

    ターミナルまたはコマンドプロンプトを開き、以下のコマンドを実行します。

    mvn -v

    Mavenのバージョン情報が表示されれば、インストールは成功です。

2. Mavenプロジェクトの作成

  1. Archetypeを使用したプロジェクト生成:

    以下のコマンドを実行してシンプルなMavenプロジェクトを生成します。

    mvn archetype:generate -DgroupId=com.sample -DartifactId=sample-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    • groupId: プロジェクトの組織識別子(例: com.sample)
    • artifactId: プロジェクト名(例: sample-project)
    • archetypeArtifactId: 使用するテンプレート(例: maven-archetype-quickstart)
  2. プロジェクト構造:

    生成されたプロジェクト構造は以下の通りです。

    sample-project
    ├── pom.xml
    └── src
        ├── main
        │   └── java
        │       └── com
        │           └── sample
        │               └── App.java
        └── test
            └── java
                └── com
                    └── sample
                        └── AppTest.java

3. pom.xmlの理解

pom.xmlはMavenプロジェクトの中核設定ファイルであり、プロジェクトのメタデータ、依存関係、ビルド設定を定義します。以下はシンプルなpom.xmlの例です。

<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.sample</groupId>
    <artifactId>sample-project</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

4. プロジェクトのビルド

  1. プロジェクトのコンパイル:

    以下のコマンドを実行してプロジェクトをコンパイルします。

    mvn compile
  2. テストの実行:

    以下のコマンドを実行して単体テストを実行します。

    mvn test
  3. プロジェクトのパッケージング:

    以下のコマンドを実行してプロジェクトをJARファイルにパッケージします。

    mvn package

    生成されたJARファイルはtargetディレクトリに配置されます。

  4. ローカルリポジトリへのインストール:

    以下のコマンドを実行してプロジェクトをローカルMavenリポジトリにインストールします。

    mvn install

5. プロジェクトの実行

  1. JARファイルの実行:

    生成されたJARファイルを実行するには、以下のコマンドを使用します。

    java -cp target/sample-project-1.0-SNAPSHOT.jar com.sample.App

6. 依存関係の追加

  1. pom.xmlへの依存関係の追加:

    例として、Apache Commons Lang依存関係を追加します。

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.12.0</version>
    </dependency>
  2. プロジェクトの再ビルド:

    以下のコマンドを実行してプロジェクトを再ビルドし、依存関係をダウンロードします。

    mvn clean install

7. 主なMavenコマンド

コマンド 説明
mvn clean プロジェクトのクリーンアップ(targetディレクトリの削除)
mvn compile プロジェクトのソースコードをコンパイル
mvn test 単体テストの実行
mvn package プロジェクトのパッケージング(JAR/WARファイルの生成)
mvn install プロジェクトをローカルリポジトリにインストール
mvn deploy プロジェクトをリモートリポジトリにデプロイ
mvn dependency:tree プロジェクトの依存関係ツリーの表示

8. Mavenのプラグイン活用

Mavenのビルドプロセスをカスタマイズするには、プラグインを使用します。以下はJavaコンパイラプラグインの設定例です。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>11</source>
                <target>11</target>
            </configuration>
        </plugin>
    </plugins>
</build>

9. リソースファイルの管理

プロジェクトにリソースファイルを追加するには、src/main/resourcesディレクトリに配置します。MavenはこれらのファイルをJARに自動的に含めます。

sample-project
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── sample
    │   │           └── App.java
    │   └── resources
    │       └── config.properties
    └── test
        └── java
            └── com
                └── sample
                    └── AppTest.java

10. 複数プロジェクトの管理

複数の関連プロジェクトを管理するには、マルチモジュールプロジェクトを使用します。親POMの例を以下に示します。

<project xmlns="http://maven.apache.org/POM/4.0.0">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.sample</groupId>
    <artifactId>parent-project</artifactId>
    <version>1.0.0</version>
    <packaging>pom</packaging>
    <modules>
        <module>module1</module>
        <module>module2</module>
    </modules>
</project>

まとめ

このガイドでは、Apache Mavenの基本的な使い方を学びました。Mavenの依存関係管理やプラグインメカニズムといった強力な機能を活用することで、開発効率を大幅に向上させることができます。さらに高度な機能についても学習し、Mavenの全ての可能性を活かしてください。

タグ: Maven Java ビルドツール 依存関係管理 プロジェクト管理

6月27日 20:59 投稿