以下のhttps://stackoverflow.com/a/59389998/927493を、1は現在、コマンドラインからMavenのEnforcerプラグインを呼び出すことができます。
これはうまく動作しますが、残念ながら私は、コマンドラインからルールパラメータを設定することができるかどうかはまだ理解していません。例は次のようになりversion
にRequireMavenVersion
ルール。
いいえはできません。私は実際にあるため、これらの期待の現在の実装でその満足していません。最初のユースケースは、単純な、パラメータなしのルールでした。もちろん、私たちは、次の質問を予測することができました。
レッツは、最初にどのように「複合体」プラグインの設定作業を説明しています。次の例を見てみましょう:
<rules>
<requireMavenVersion>
<version/>
</requireMavenVersion>
</rules>
ここでrequireMavenVersionがEnforceMojo(または同じパッケージ内に小文字のクラス名であるenforce
ゴール)、バージョンは、このクラスのセッターです。あなたは何を参照してくださいPOJO以外の何ものでもありません。Mavenのは、その呼び出すことができるので、ここでの唯一の要件は、RequireMavenVersionはEnforcerRuleインタフェースを実装していることであるexecute
方法を参照してくださいを:
@Parameter
private EnforcerRule[] rules;
あなたはコマンドラインからルールを呼び出したい場合は、完全修飾クラス名にルールの名前を変更するプラグインの簡単な試みは、それの新しいインスタンスを作成します。次に、そのexecuteメソッドが呼び出されます。
この機能のための要求は、プロジェクトに触れることなくルールを適用することでした。これは、そのユースケースにはるかに優れたフィットMavenの拡張、など解決すべき。
しかし結論:いいえ、あなたがすることはできません。