Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerUnresolved include directive in modules/ROOT/pages/package-a-mule-application.adoc - include::mule-runtime::partial$mmp-concept.adoc[]
Mule アプリケーションは Mule Maven プラグイン (コマンドライン) または Anypoint Studio を使用してパッケージできます。この手順についての詳細は、「Studio からのプロジェクトのエクスポート」を参照してください。
Mule アプリケーションはデプロイ可能な JAR ファイルにパッケージされ、このパッケージを後から実行中の Mule Runtime Engine にデプロイできます。パッケージには、アプリケーションによって必要とされる JAR ファイルであるかそのプラグインによって必要とされる JAR ファイルであるかに関係なく、アプリケーションおよびそのすべての連動関係が含まれます。
すべての Mule アプリケーションには 2 つの記述子があります。これらの記述子により、Mule アプリケーションの連動関係が定義されます。
mule-artifact.json
ファイル。
このファイルは、アプリケーションがどのように構成されるかを記述します。
pom.xml
ファイル。
このファイルは、パッケージが正常に機能するために必要なすべての連動関係を記述します。
Mule 4 アプリケーションは次の Anypoint Studio と Mule Maven プラグインバージョンと互換性があります。
Anypoint Studio 7.x
Mule Maven プラグイン 3.x
Mule Maven プラグインをプロジェクトに追加する
手順については、「Mule Maven プラグインを Mule プロジェクトに追加する」を参照してください。
デザインタイムに、Mule アプリケーションには少なくとも次の 3 つの基本的なコンポーネントが必要です。
コンポーネント | 型 | 説明 |
---|---|---|
|
フォルダー |
アプリケーションの本番ソースコードおよびテストのソースディレクトリ。 |
|
Descriptor (記述子) |
Mule アプリケーションの POM ファイル。 |
|
Descriptor (記述子) |
Mule アプリケーションの mule-artifact ファイル。 |
これらの 3 つのコンポーネントは必須です。このいずれか 1 つが欠落すると、プロジェクトをデプロイ可能な JAR ファイルにパッケージできません。
さらに、パッケージプロセスでは Mule アプリケーションのルートフォルダーにある他のディレクトリまたはファイルが考慮されません。
src
ディレクトリには main
と test
の 2 つの主要なフォルダーがあります。
プラグインはアプリケーションをパッケージするときに src
内の他のディレクトリを考慮しません。
src/main はアプリケーションのすべての本番ソースコードのルートフォルダーです。
フォルダー | フォルダー種別 | 説明 |
---|---|---|
|
ソース |
Mule 設定ファイルのルートフォルダー。 このフォルダーは必須です。 |
|
resource (リソース) |
XML、JSON、プロパティファイルなどのアプリケーションリソースが含まれます。 |
パッケージプロセスにより、src/main/mule
および src/main/resources
内のすべてのファイルがバイナリパッケージのルートディレクトリに送信されます。
src/main/mule
内のネストされたフォルダーは、バイナリパッケージのルートディレクトリ内のディレクトリとして保持されます。
src/test はアプリケーションのすべてのテストソースコードのルートフォルダーです。
フォルダー | フォルダー種別 | 説明 |
---|---|---|
|
ソース |
アプリケーションのカスタム Java コードを検証するために使用されるテストクラスのルートフォルダーです。 |
|
ソース |
MUnit ソースコードが含まれます。 |
|
resource (リソース) |
XML、JSON、プロパティファイルなどのリソースが含まれます。 |
プロジェクトのフォルダーのコマンドラインから、パッケージゴールを実行します。
mvn clean package
このプラグインはアプリケーションをプロジェクトのフォルダー内の対象ディレクトリにパッケージし、デプロイ可能な JAR ファイルを作成します。
pom.xml に連動関係バージョンの競合がある場合、最新バージョンが使用されます。
|
Anypoint Studio にインポートできる JAR ファイルを生成するには、-DattachMuleSources
パラメーターを使用してアプリケーションをパッケージ化し、デプロイ可能ファイルをオープン Mule プロジェクトとしてワークスペースに再インポートするために Studio で必要とされるソースファイルおよびメタデータを含める必要があります。
プロジェクトのフォルダーのコマンドラインから、次のコマンドを実行します。
mvn clean package -DattachMuleSources
-DattachMuleSources
パラメーターにより、デザインタイムにアプリケーション構造の正確なコピーを使用して META-INF
ディレクトリ内に mule-src
フォルダーを追加するようプラグインに指示されます。このオプションにより、Mule Runtime Engine にデプロイできる機能する Mule のデプロイ可能なアーカイブファイルを作成するために必要なプロジェクトモジュールおよび連動関係もパッケージ化されます。
Mule Runtime Engine で Mule アプリケーションを実行するために必要な実際のモジュールおよび外部連動関係のバンドルをスキップして、Anypoint Studio に JAR パッケージをインポートし直すために必要なソースファイルおよびメタデータのみの軽量パッケージを作成できます。
プロジェクトのフォルダーのコマンドラインから、次のコマンドを実行します。
mvn clean package -DlightweightPackage
このパラメーターを指定すると、プラグインによって Mule アプリケーションの pom.xml
ファイルで宣言された連動関係を含まない軽量 JAR ファイルが作成されます。この JAR ファイルを Mule Runtime Engine にデプロイすることはできず、Mule アプリケーションのソースファイルのみをアーカイブすることができます。この Maven パラメーターの結果は、Mule アプリケーションを Anypoint Studio からエクスポートするときに [Include Project Modules and Dependencies (プロジェクトモジュールと連動関係を含める)] をオフにするのと同じです。
パラメーターを結合して、Anypoint Studio にパッケージをインポートし直すためのソースファイルおよびメタデータも含まれる軽量 Mule アプリケーションパッケージを作成することもできます。
プロジェクトのフォルダーのコマンドラインから、次のコマンドを実行します。
mvn clean package -DattachMuleSources -DlightweightPackage
アプリケーションをパッケージするときに、特定のファイルまたはディレクトリを除外できます。プロジェクトのルートディレクトリで _muleExclude
ファイルを作成し、そのコンテンツを編集して除外ルールを設定します。
_muleExclude
ファイルの各行で、 glob のパターンに従うルールが指定されます。
たとえば、2 つの除外ルールが含まれる次の _muleExclude
ファイルを考えます。
fileToBeExcluded.json **/src/main/resources/local_directory
最初の行は、すべてのディレクトリ内の fileToBeExcluded.json
という名前のすべてのファイルがアプリケーションパッケージから除外されることを示しています。
2 行目は、src/main/resources
にある local_directory
という名前のディレクトリのみがパッケージから除外されることを示しています。
**/src/main/resources/local_directory
が local_directory
に置き換えられている場合、プロジェクト内の local_directory
という名前のすべてのディレクトリがアプリケーションパッケージから除外されます。