Maven リファレンス

Unresolved include directive in modules/ROOT/pages/maven-reference.adoc - include::mule-runtime::partial$mmp-concept.adoc[]

このページでは、Mule で Maven を使用する場合の作業に役立つ参照情報がまとめられています。概要については、​「Mule での Maven サポート」​を参照してください。

pom.xml ファイル

<project root>/pom.xml

アプリケーションについて記述する Maven プロジェクトの設定を定義するプロジェクトオブジェクトモデルファイル。これには、ビルドプラグインの設定など、アプリケーションをビルドするために必要なすべての設定が含まれます。​pom.xml​ はプロジェクトごとに存在し、プロジェクトと共に配布されます。

settings.xml ファイル

<system-wide Maven directory>/settings.xml
<user home directory>/.m2/settings.xml

Maven インストールのグローバル設定が含まれます。プロジェクトの ​pom.xml​ とは異なり、これはシステム全体の設定を定義するものであり、認証ログイン情報などの機密情報を含む可能性があるためプロジェクトと共に配布されません。

settings.xml​ ファイルは次の 2 つの場所に存在できます。

  • システム全体の設定のフォルダー:

    この場合は、ユーザーに関係なく、システム上のすべての Maven インストールの設定を定義する​グローバル​な ​settings.xml​ ファイルになります。例:

    /etc/maven2/settings.xml
  • ユーザー固有の設定のフォルダー:

    この場合は、特定のユーザーの Maven インストールのみに関連する​ユーザー​の ​settings.xml​ ファイルになります。デフォルトの場所はユーザーのホームディレクトリ内の ​.m2​ ディレクトリです。

    /home/joe/.m2/settings.xml

グローバルとユーザーの両方の ​settings.xml​ ファイルが含まれるシステムでは、両方のファイルの設定がマージされます。重複する設定がある場合、ユーザーの設定がグローバル設定よりも優先されます。

MuleSoft リポジトリ

Anypoint Studio で新しい Mule プロジェクトを作成すると、必要な MuleSoft リポジトリがプロジェクトに自動的に追加されます。Studio 外で Mule プロジェクトを作成する場合は、リポジトリを手動で ​pom.xml​ ファイルに追加して、Enterprise リポジトリにアクセスするための Maven のログイン情報を設定する必要があります。

MuleSoft の公開リポジトリの設定

MuleSoft の公開リポジトリを設定するには、プロジェクトの ​pom.xml​ ファイルに以下を追加します。

<repositories>
    <repository>
        <id>anypoint-exchange</id>
        <name>Anypoint Exchange</name>
        <url>https://maven.anypoint.mulesoft.com/api/v1/maven</url>
        <layout>default</layout>
    </repository>
    <repository>
        <id>mulesoft-releases</id>
        <name>MuleSoft Releases Repository</name>
        <url>https://repository.mulesoft.org/releases/</url>
        <layout>default</layout>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>mulesoft-releases</id>
        <name>MuleSoft Releases Repository</name>
        <layout>default</layout>
        <url>https://repository.mulesoft.org/releases/</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

MuleSoft Enterprise リポジトリの設定

プロジェクトから Enterprise リポジトリにアクセスできるようにするには、Enterprise ライセンスを入手してインストールし、リポジトリへのアクセスを取得して、プロジェクト内でリポジトリを設定する必要があります。

Enterprise ライセンスの入手とインストール

Enterprise ライセンスの入手とインストールの手順は、​「Enterprise ライセンスのインストール」​を参照してください。

Enterprise リポジトリへのアクセスの取得

MuleSoft ユーザーであり、 MuleSoft Enterprise リポジトリ​にアクセスするためのログイン情報を持っていない場合は、サポートに連絡して、Nexus Enterprise ログイン情報を要求してください。

MuleSoft Enterprise リポジトリにアクセスするための Maven の設定

MuleSoft Enterprise リポジトリにアクセスできるように Maven を設定する手順は次のとおりです。

  1. <USER_HOME>/.m2/settings.xml​ に移動します。

  2. アクセスが必要なすべてのワークステーションで ​settings.xml​ を開きます。​settings.xml​ ファイルが存在しない場合は作成してください。

    settings.xml​ ファイルの詳細は、 Maven ドキュメント​を参照してください。

  3. 各 ​settings.xml​ ファイルの ​servers​ セクションに次の構文を追加します。

    <servers>
    ...
        <server>
    
            <id>MuleRepository</id>
            <username>YOUR_ID</username>
            <password>YOUR_PASSWORD</password>
    
        </server>
    ...
    </servers>
  4. 各 ​settings.xml​ ファイルの ​profile​ セクションに次の構文を追加します。

    <profiles>
    ...
        <profile>
    
            <id>Mule</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <id>MuleRepository</id>
                    <name>MuleRepository</name>
                    <url>https://repository.mulesoft.org/nexus-ee/content/repositories/releases-ee/</url>
                    <layout>default</layout>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
    
        </profile>
    ...
    </profiles>

便利なコマンド

次のコマンドを使用して、Maven インストールに関する情報を取得し、プロジェクト関連のタスクを実行できます。

Maven バイナリと他のファイルを見つける (Unix)

whereis mvn

グローバル設定ファイルなどの Maven ファイルを見つける (Unix)

locate maven

Maven バージョンを取得する

mvn --version

Java ホームディレクトリ、ロケール、プロセッサーアーキテクチャなど、他の情報も提供されます。

Maven コマンドとオプションのリストを取得する

mvn -h

Maven のマニュアルページを確認する (Unix)

man mvn

プロジェクトを作成する

mvn archetype:generate -DgroupId=com.company.app -DartifactId=myapp -DarchetypeArtifactId=myarchetypeid -DinteractiveMode=false

プロジェクトをビルドする

mvn package

プロジェクトをクリーンアップする

mvn clean

サイトを生成する

mvn site

アーティファクトに含まれる JAR ファイルのリストを取得する

mvn dependency:build-classpath

アーティファクトの連動関係ツリーを取得する

mvn dependency:tree

Maven 中央リポジトリへの Mule アーティファクトのデプロイ

中央リポジトリを使用すると、アプリケーションをビルドするときのユーザーの時間を節約できます。中央リポジトリにデプロイするには、Mule ​POM​ ファイルと ​JAR​ アーティファクトを目的のリポジトリにデプロイする必要があります。

デプロイプラグインは、主にデプロイフェーズ中に、他の開発者やプロジェクトと共有するアーティファクトをリモートリポジトリに追加するために使用されます。

pom.xml のデプロイ

pom.xml​ をリモートリポジトリにデプロイするには、次のコマンドを使用します。

mvn deploy:deploy-file
-DgroupId=${project.groupId}
-DartifactId=${project.artifactId}
-Dversion=${version}
-Dpackaging=pom
-Dfile=${localPom.canonicalPath}
-Durl=http://<your_repository_ip>/nexus/content/repositories/releases
-DrepositoryId=releases

-Durl​ パラメーターでは、​<your_repository_ip>​ を正しい IP アドレスに置き換えます。また、​-DrepositoryId​ は、​settings.xml​ ファイルで定義されたログイン情報に一致する必要があります。

JAR ファイルのデプロイ

JAR​ ファイルをリモートリポジトリにデプロイするには、次のコマンドを使用します。

mvn deploy:deploy-file
-DgroupId=${pomProps.groupId}
-DartifactId=${pomProps.artifactId}
-Dversion=${pomProps.version}
-Dpackaging=jar
-Dfile=${f.canonicalPath}
-DpomFile=${localPom.canonicalPath}
-Durl=http://${your_repository_ip}/nexus/content/repositories/releases
-DrepositoryId=releases

-Durl​ パラメーターでは、​your_repository_ip​ を正しい IP アドレスに置き換えます。また、​-DrepositoryId​ は、​settings.xml​ ファイルで定義されたログイン情報に一致する必要があります。

JAR​ ファイルをローカルにインストールし、そのファイルをリモートにもデプロイする場合、両方の場所を引数定義で保持することができます。