2017-10-24 20 views
2

Mavenプラグインの修正版を私のビルドで(実験的な目的のために)使用したいと思います。そのため、プラグインのソースコードをダウンロードして調整しました。パッチを適用したバージョンのMavenプラグインを使用するにはどうすればよいですか?

変更されたプラグインを統合する最も良い方法は何ですか? Mavenプラグインの読み込みをインターセプトし、ローカルJARにリダイレクトすることはできますか?プラグインの前に(クラスローダーによって)ロードされるような方法で(少数の)調整されたクラスを追加することはできますか?どうやって?

+0

変更されたコードをjarファイルにパッケージ化することはできません。ローカルにインストールしてmavenで使用することはできませんか? – f1sh

答えて

1

Mavenは依存関係と同じ方法でプラグインを見つけます。

  1. そのPOMファイルの変更は、プラグインのグループID /アーティファクトID /バージョン番号を、それを再構築しますので、ここで私がしようとするだろうものです。

  2. プラグインを.m2リポジトリにインストールします。例えば実行mvn install

はまた、プラグインのJARを(あなたがそれを行うが)を構築した後、Apache > Maven > Plugins > Apache Maven Install Plugin > Usageで説明したようにmvn install:install-fileを実行してインストールします。これにより、グループID /成果物ID /バージョンを直接指定することができます。

公式バージョンのプラグインと衝突する可能性の低いグループ/アーティファクト/バージョンを選択することをお勧めします。しかしそれはあなたの正気のためだけです。

これを行うことの欠点は、(今)プロジェクトソースコードとともにプラグインを公開または配布する必要があることです。元のプラグインの変更を追跡するためにそれを維持します。 (または実験的なプラグインがエスケープされないようにしてください)

関連する問題