【iDempiere-Lab】パッケージ作成時のエラー:No component named org.apache.commons.collections4:osgi.bundle is known to Buckminsterの原因調査

iDempiereをソースコードからビルドして、インストールパッケージを作成しようとしたら、"No component named org.apache.commons.collections4:osgi.bundle is known to Buckminster"という、あまりに見慣れないエラーが表示されてインストールパッケージが作成できないので、その原因を調査して、対策を記載しておきたいと思います。

対策

とりあえずエラーを回避したいという方のために、まずは対策から書きます。対策は簡単です。org.ademiere.base-feartureプロジェクトにあるfeature.xmlを少し編集するだけです。

よく見るとorg.apache.commons.collection4に警告がついています。これが原因ですので、いったん"除去"します。

除去した後で、追加ボタンを押して、org.apache.commons.commons-collections4を追加します。

以上で、対策は終了です。これだけで、インストールパッケージが通常通り作成できるようになると思います。

原因

原因はMavenリポジトリにある、commons-collections4が2018年7月8日にバージョンアップされ、jarファイルの名称が変更になっている事にあるようです。

バージョンアップ前の名称:org.apache.commons.collections4_4.1.0.jar

バージョンアップ後の名称:org.apache.commons.commons-collections4_4.2.0.jar

この名称変更が、org.adempiere.base-featureプロジェクトのfeature.xmlに反映されていないため、インストールパッケージを作成する際にエラーが表示されているようです。