| Mule Maven プラグインバージョン 3.0.0、3.1.0、3.1.1、3.1.2、3.1.3、3.1.4、3.1.5、3.1.6、3.1.7、3.8.3 は非推奨です。 |
Mule Maven プラグインでは、Mule アプリケーションのパッケージおよびデプロイメントを Maven ライフサイクルと統合できます。
パッケージ化の手順は、「Mule アプリケーションをパッケージする」を参照してください。
Mule Maven プラグインは Mule Runtime Engine (Enterprise Edition) および Mule Kernel (Community Edition) と互換性があります。
Mule Maven プラグインを使用すれば、次のデプロイメント戦略のいずれかを使用して、CloudHub、CloudHub 2.0、または Anypoint Runtime Fabric への、もしくはオンプレミスでの Mule アプリケーションのデプロイメントを自動化できます。
-
CloudHub デプロイメント
Mule アプリケーションを CloudHub にデプロイします。
手順は、「CloudHub へのアプリケーションのデプロイ」を参照してください。 -
CloudHub 2.0 デプロイメント
Mule アプリケーションを CloudHub 2.0 にデプロイします。
手順は、「CloudHub 2.0 へのアプリケーションのデプロイ」を参照してください。 -
Runtime Fabric デプロイメント
Anypoint Runtime Fabric に Mule アプリケーションをデプロイします。
手順は、「Anypoint Runtime Fabric へのアプリケーションのデプロイ」を参照してください。 -
Runtime Manager REST API デプロイメント
Runtime Manager REST API を使用してサーバーまたはサーバークラスターに Mule アプリケーションをデプロイします。
手順は、「Runtime Manager REST API を使用して Mule アプリケーションをデプロイする」を参照してください。 -
Runtime Manager エージェントデプロイメント
Runtime Manager エージェントを使用して Mule アプリケーションをデプロイします。
このデプロイメント戦略は、すべての Mule インスタンスが 1 つのアドレス空間にある場合のみ機能します。
手順は、「Runtime Manager エージェントを使用した Mule アプリケーションのデプロイ」を参照してください。 -
スタンドアロンランタイムデプロイメント
マシンで実行中の Mule インスタンスに Mule アプリケーションをデプロイします。
手順は、「スタンドアロン Mule Runtime Engine への Mule アプリケーションのデプロイ」を参照してください。
Mule Maven プラグインの目標
Mule Maven プラグインには次の目標があります。
-
package
プロジェクトの jar ファイルを生成します。 -
deploy
任意のアプリケーションデプロイメント対象 (CloudHub、Runtime Fabric、またはオンプレミス) で自動的にアプリケーションをアップロードして起動します。 -
mule:deploy
指定された場所からアーティファクトをデプロイします。 -
mule:undeploy
任意のアプリケーションデプロイメント対象 (CloudHub、Runtime Fabric、またはオンプレミス) から自動的にアプリケーションを削除します。
各目標では、目的のプラグイン動作に固有のパラメーターを受け入れます。
コマンドラインからパラメーターを指定するには、パラメーター名の先頭に -D を追加します。
目標のパッケージ化
package 目標では、アプリケーションの JAR ファイルが生成されます。この目標は、デフォルトで Maven ライフサイクルフェーズ: package にバインドします。
省略可能なパラメーター
| 名前 | 型 | 説明 |
|---|---|---|
|
boolean (ブール) |
ソースコードのみが含まれるアプリケーションの JAR ファイルを生成します。このプロパティは共有のみに使用します。 |
|
boolean (ブール) |
生成した JAR ファイル内にソースコードを添付します。 |
|
boolean (ブール) |
JAR ファイル内のすべてのアプリケーションの連動関係が含まれるリポジトリを生成しません。このプロパティは共有のみに使用します。 |
たとえば、package 目標を実行して attachMuleSources パラメーターを設定するには、次のコマンドを実行します。
mvn package -DattachMuleSources
目標のデプロイ
この目標では、アプリケーションの JAR ファイルを任意のアプリケーションデプロイメント対象にアップロードしてデプロイします。deploy 目標は、デフォルトで Maven ライフサイクルフェーズ: deploy にバインドします。
省略可能なパラメーター
| 名前 | 型 | 説明 |
|---|---|---|
|
String (文字列) |
アプリケーションの JAR ファイルをデプロイするパス。デフォルトでは、アプリケーションの |
|
boolean (ブール) |
このプラグインに、プラグイン設定で定義されたデプロイメント戦略を使用してデプロイするよう指示します。 |
たとえば、deploy 目標を実行して muleDeploy パラメーターを設定するには、次のコマンドを実行します。
mvn deploy -DmuleDeploy
Mule Maven プラグインを Mule プロジェクトに追加する
操作を実行する前に、Mule Maven プラグインをプロジェクトに追加する必要があります。
Mule Maven プラグインを追加するには、その Maven 連動関係をプロジェクトに追加する必要があります。
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>3.7.1</version>
<extensions>true</extensions>
</plugin>
このリポジトリから:
<pluginRepositories>
<pluginRepository>
<id>mule-public</id>
<url>https://repository.mulesoft.org/nexus/content/repositories/releases</url>
</pluginRepository>
</pluginRepositories>
これにより、プロジェクトで Mule Maven プラグインが有効になります。
<extensions>true</extensions> が存在しない場合、プラグインは機能しません。
|
プラグイン実行のスキップ
デプロイメント設定内で skip パラメーターを true に設定することで、プラグイン実行をスキップできます。
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>3.7.1</version>
<extensions>true</extensions>
<configuration>
<standaloneDeployment>
<muleHome>${mule.home.test}</muleHome>
<skip>true</skip>
</standaloneDeployment>
</configuration>
</plugin>
デプロイメント検証のスキップ
任意のプラットフォームデプロイメント (Cloudhub、Runtime Manager、Runtime Fabric) 内で skipDeploymentVerification パラメーターを true に設定することで、状況検証をスキップできます。
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>3.7.1</version>
<extensions>true</extensions>
<configuration>
<runtimeFabricDeployment>
...
<skipDeploymentVerification>true</skipDeploymentVerification>
...
</runtimeFabricDeployment>
</configuration>
</plugin>
skipDeploymentVerification パラメーターが存在しない場合、デフォルト値は false です。
この機能は、プラグインバージョン 3.2.5 以降で使用できます。
共有ライブラリの設定
共有ライブラリでは、アプリケーションの連動関係を設定し、この連動関係をアプリケーション内のすべてのコネクタからアクセス可能にできます。
この機能の詳細な説明は、「Shared Libraries (共有ライブラリ)」を参照してください。
連動関係を共有ライブラリとして設定するには、プロジェクトの pom.xml ファイルの Mule Maven プラグイン設定内に次の要素を追加します。
<sharedLibraries>
<sharedLibrary>
<groupId>${dependencyGroupID}</groupId>
<artifactId>${dependencyArtifactID}</artifactId>
</sharedLibrary>
</sharedLibraries>
次の例では、プロジェクトのデータベース用 Anypoint Connector (Database Connector) を設定し、さらに MySQL ドライバーを共有ライブラリとして設定しています。
<build>
<plugins>
<!-- Mule Maven Plugin configuration -->
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>${mule.maven.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<sharedLibraries>
<!-- MySQL driver dependency configured as a shared library -->
<sharedLibrary>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</sharedLibrary>
</sharedLibraries>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!--Database Connector dependency -->
<dependency>
<groupId>org.mule.connectors</groupId>
<artifactId>mule-db-connector</artifactId>
<version>1.5.0</version>
<classifier>mule-plugin</classifier>
</dependency>
<!-- MySQL driver dependency -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.33</version>
</dependency>
</dependencies>
追加プラグイン連動関係の設定
アプリケーションのコネクタ用に追加プラグイン連動関係を設定すると、それらの連動関係はそのコネクタでのみ使用可能になります。これにより、異なるコネクタに対して、異なる連動関係や同じ連動関係の複数のバージョンさえ設定できます。
この機能の詳細な説明は、「Additional Plugin Dependencies (追加プラグイン連動関係)」を参照してください。
追加プラグイン連動関係を設定するには、プロジェクトの pom.xml ファイルの Mule Maven プラグイン設定内に次の要素を追加します。
<additionalPluginDependencies>
<plugin>
<groupId>${connectorGroupID}</groupId>
<artifactId>${connectorArtifactID}</artifactId>
<additionalDependencies>
<dependency>
<groupId>${dependencyGroupID}</groupId>
<artifactId>${dependencyArtifactID}</artifactId>
<version>${dependencyVersion}</version>
</dependency>
</additionalDependencies>
</plugin>
</additionalPluginDependencies>
次の例では、Derby ドライバーを Database Connector の連動関係として設定しています。
<plugin>
<!-- Mule Maven Plugin configuration -->
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>${mule.maven.plugin.version}</version>
<configuration>
<!-- Plugin dependencies configuration-->
<additionalPluginDependencies>
<!-- The connector for which the dependency is defined -->
<plugin>
<groupId>org.mule.connectors</groupId>
<artifactId>mule-db-connector</artifactId>
<!-- Dependencies definition for the connector -->
<additionalDependencies>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.11.1.1</version>
</dependency>
</additionalDependencies>
</plugin>
</additionalPluginDependencies>
</configuration>
</plugin>