コマンドラインから呼び出されたMavenのエンフォーサのルールにパラメータを追加します。

JFマイヤー:

以下のhttps://stackoverflow.com/a/59389998/927493を、1は現在、コマンドラインからMavenのEnforcerプラグインを呼び出すことができます。

これはうまく動作しますが、残念ながら私は、コマンドラインからルールパラメータを設定することができるかどうかはまだ理解していません。例は次のようになりversionRequireMavenVersionルール。

ロバートScholte:

いいえはできません。私は実際にあるため、これらの期待の現在の実装でその満足していません。最初のユースケースは、単純な、パラメータなしのルールでした。もちろん、私たちは、次の質問を予測することができました。

レッツは、最初にどのように「複合体」プラグインの設定作業を説明しています。次の例を見てみましょう:

<rules>
  <requireMavenVersion>
    <version/>
  </requireMavenVersion>
</rules>

ここでrequireMavenVersionがEnforceMojo(または同じパッケージ内に小文字のクラス名であるenforceゴール)、バージョンは、このクラスのセッターです。あなたは何を参照してくださいPOJO以外の何ものでもありません。Mavenのは、その呼び出すことができるので、ここでの唯一の要件は、RequireMavenVersionはEnforcerRuleインタフェースを実装していることであるexecute方法を参照してくださいを:

 @Parameter
 private EnforcerRule[] rules;

あなたはコマンドラインからルールを呼び出したい場合は、完全修飾クラス名にルールの名前を変更するプラグインの簡単な試みは、それの新しいインスタンスを作成します。次に、そのexecuteメソッドが呼び出されます。

この機能のための要求は、プロジェクトに触れることなくルールを適用することでした。これは、そのユースケースにはるかに優れたフィットMavenの拡張、など解決すべき。

しかし結論:いいえ、あなたがすることはできません。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=4840&siteId=1