2

すべてのプロジェクトの依存関係を取得し、これらのアーティファクト情報をテンプレート ファイルに入力する maven プラグインを作成しました: jnlp-maven-plugin。説明されている動作を観察するためのテストケースが含まれています。

maven 3.3 以降、シェード プラグインによって依存関係が生成されると、プラグインはマルチ モジュール ビルドであまりにも多くのアーティファクトを取得します。各モジュールを連続してビルドすると、推移的な依存関係が正しく提供されます。Maven 3.2.5 を使用すると、すべて正常に動作します。

成果物は次のコードで取得されます: AbstractJnlpMojo#73。これにより、依存関係が推移的に取得されます。Maven 3.3以降、これを行う新しい方法はありますか? それとも私はそれを間違っていますか?

一方、アセンブリ プラグインは、陰影付きの依存関係を常に正しくフェッチします。しかし、依存関係は独自のアルゴリズムで再帰的に解決されます。

再現するには、github からプロジェクトを複製し、ルート モジュールをインストールする必要があります。ファイルは two/target/jnlp に作成されます。マルチモジュールビルドのmaven 3.3.Xでは、30個のファイルが作成されます。古い Maven バージョンと単一モジュールのインストールでは、20 個のファイルが作成されます。

4

0 に答える 0