Mule での Maven のサポート

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

Maven は、プロジェクト開発を強化するために Mule が実装しているプロジェクト管理ユーティリティです。Mule には次のような Maven の機能が組み込まれています。

  • Anypoint Exchange

    • Anypoint Exchange のコネクタは、Maven 連動関係情報を提供します。Anypoint Exchange でコネクタアセットをクリックして ​[Dependency Snippets (連動関係スニペット)]​ をクリックすると、Maven の ​pom.xml​ ファイルの連動関係をリストできます。

  • Anypoint Studio

    • Anypoint Studio 7 以降で作成されたすべての新規プロジェクトは、デフォルトでは Maven で設定されます。コマンドラインから Maven でプロジェクトを実行したり、Anypoint Studio から直接実行したりできます。

    • 既存の Maven プロジェクトを Anypoint Studio にインポートして作業を続けることができます。詳細は、​「プロジェクトのインポートとエクスポート」​を参照してください。

  • Mule Runtime Engine

    • Mule Maven プラグイン​を使用することで、Mule アプリケーションのパッケージ、テスト、デプロイメントを Maven ライフサイクルと統合できます。

前提条件

pom.xml​ ファイルの管理や Maven プラグインの操作といった Maven の概念に慣れておく必要があります。 Maven を使い始めたばかりであれば、 「Maven’s Getting Started tutorial (Maven の使用開始チュートリアル)」​を参照してください。

利点

Maven は、Anypoint Studio の内部と外部の両方で Mule アプリケーションの管理を容易にし、以下の利点を提供します。

  • Anypoint Studio を使用して新規の Mule プロジェクトを作成すると、正しい Mule プロジェクトフォルダー構造と標準連動関係の基本セットを使用することが保証されます。

  • Anypoint Studio は、追加の連動関係を必要とする新しい要素がフローに追加されるたびに、POM ファイルを自動的に管理します。

  • Maven POM ファイルを使用することで、POM が連動関係を参照するため、すべての連動関係をユーザー自身が見つけてプロジェクト自身に含める必要がなくなり、プロジェクトの共有が容易かつ軽量になります。

  • Maven を使用してビルドを管理することにより、最終的なビルドがクリーンで標準化されます。

  • Bamboo などの外部フレームワークを使用して自動ビルドをプログラムすることで、継続的なインテグレーションを保証できます。

推奨事項

  • Anypoint Studio を使用してアプリケーションを設計してください。

    Anypoint Studio には Maven のサポートが組み込まれているため、新しい連動関係を追加した場合でも POM ファイルを手動で更新したり、アプリケーションを修正する必要はほとんどありません。

  • POM ファイルと ​settings.xml​ は必要に応じて更新してください。

    POM ファイルを更新するときに、​<packaging>…</packaging>​ タグは必須です。作成するプロジェクトの種別に応じて、このタグの有効な値は ​mule-application​、​mule-domain​、​mule-policy​、​mule-domain-bundle​ です。たとえば、Anypoint Studio を使用して Mule プロジェクトを作成する場合、タグは自動的に ​<packaging>mule-application</packaging>​ と定義されます。

    コマンドラインからアーキタイプを使用して Maven プロジェクトを作成する場合は、POM ファイルを手動で管理する必要があります。また、場合によっては ​settings.xml​ を編集して、MuleSoft Enterprise リポジトリを参照して、ログイン情報を供給する必要があります。また、プロジェクトを Anypoint Studio で管理している場合でも、手動での POM ファイルの調整が必要になるケースもあります。

  • SNAPSHOT バージョンを使用してください。

    SNAPSHOT により、プロジェクトのバージョンを識別できるため、安定した製品をリリースできるようになります。たとえば、プロジェクトのバージョン ​1.0.0-SNAPSHOT​ をビルドしたら、機能をテストしたり修正を加えたりしてから、バージョン ​1.0.0​ としてリリースできます。その後は、新しいバージョンである ​1.1.0-SNAPSHOT​ を使用してビルドを続けられます。

    XML の例:

    <groupId>com.mycompany</groupId>
    <artifactId>my-application</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>mule-application</packaging>

Maven インストールの設定

Anypoint Studio では、新規プロジェクトの作成時に、Maven が Mule で動作するように自動的に設定されますが、たとえば、次の継続的インストールや継続的デプロイメント (CI/CD) を実行する場合など、シナリオによっては、Maven インストールが Mule で動作するように手動で設定することが必要になることがあります。

Maven インストールを管理する場合、次の点を確認します。

  • settings.xml​ ファイルが適切に設定されている。

  • pom.xml​ ファイルが適切に設定されている。

    Studio 以外でプロジェクトを更新する場合は、必要な調整を加えて ​pom.xml​ ファイルを常に最新の状態に保ちます。

Maven 設定についての詳細は、​「Maven リファレンス」​を参照してください。