POMを再同期化してTalend CI BuilderにおけるPOMのプロジェクトモジュール定義の重複を回避 - 7.1

Talend Data Fabric Studio ユーザーガイド

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Data Fabric
task
ジョブデザインと開発
EnrichPlatform
Talend Studio

あるプロジェクトがメインプロジェクトの複数の参照プロジェクトによって参照される場合、Talend CI Builderでプロジェクトモジュールの定義が重複しないよう、すべての参照プロジェクトとメインプロジェクトのPOMを1つずつ、参照階層の最下位から最上位に向けて再同期化する必要があります。

注: POMの再同期化が便利なのは、Talend CI Builderでメインプロジェクトをビルドする場合のみです。

たとえばProjectMainというメインプロジェクトの2つの参照プロジェクト(ProjectRefAProjectRefB)によってProjectSubRefというプロジェクトが参照されている場合、まず第3レベルのプロジェクトであるProjectSubRef、次に第2レベルのプロジェクトであるProjectRefAProjectRefB (同じレベルのプロジェクト間には優先順位なし)、最後に第1レベルのメインプロジェクトであるProjectMainという順序でPOMを再同期化します。

このタスクについて

プロジェクトでPOMを再同期化する方法は以下のとおりです。

手順

  1. Talend Studioでプロジェクトを開きます。
  2. メニューバーで、[File] (ファイル) > [Edit Project properties] (プロジェクトプロパティの編集)の順にクリックして、[Project Settings] (プロジェクト設定)ダイアログボックスを開きます。
  3. [Build] (ビルド)を展開して[Maven]をクリックします。
  4. [Set reference project modules in profile] (プロファイルで参照プロジェクトモジュールを設定)チェックボックスを選択し、[Force full re-synchronize poms] (POMの全再同期を強制)をクリックします。
  5. 完了したら、[Apply and Close] (適用して閉じる)をクリックしてダイアログボックスを閉じます。

次のタスク

すべてのプロジェクトでPOMが再同期化された後は、各プロジェクトのPOMで参照プロジェクトがプロファイルとして設定され、識別用に<p_name>_<refp_name>という形式で一意IDが付けられていることがわかります。<p_name><refp_name>にはそれぞれプロジェクト名と参照プロジェクト名が入ります。すべて小文字で、たとえばProjectMainというメインプロジェクトのPOMではprojectmain_projectrefaprojectmain_projectrefbに、ProjectRefAというプロジェクトのPOMではprojectrefa_projectsubrefに、ProjectRefBというプロジェクトのPOMではprojectrefb_projectsubrefとなります。

Talend CI Builderでメインプロジェクトをビルドする場合は、各参照プロジェクトのプロファイルIDをコマンドで使用する必要があります。重複する参照プロジェクト(この例ではprojectrefa_projectsubrefprojectrefb_projectsubref)は一度しか表示されません。以下に例をいくつか挙げておきます。

mvn package/install/deploy -P !projectrefb_projectsubref
mvn install/deploy -P docker,projectmain_projectrefa,projectmain_projectrefb,projectrefa_projectsubref
mvn deploy -P cloud-publisher,projectmain_projectrefa,projectmain_projectrefb,projectrefb_projectsubref