web-dev-qa-db-ja.com

Mavenエンフォーサプラグインが見つからないか無効なルール

Mavenのエンフォーサプラグインを設定して、最低Javaバージョンを強制します。ただし、mvn enforcer:enforceを実行しようとすると、次のようになります。

目標org.Apache.maven.plugins:maven-enforcer-plugin:1.3.1:enforceのパラメーター「ルール」が見つからないか無効です

これが私のpomファイルの関連部分です:

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <version>1.3.1</version>
    <executions>
        <execution>
            <id>enforce-Java</id>
            <phase>validate</phase>
            <goals>
                <goal>enforce</goal>
            </goals>
            <configuration>
                <rules>
                    <requireJavaVersion>
                        <version>(1.7.0-20,)</version>
                    </requireJavaVersion>
                </rules>
            </configuration>
        </execution>
    </executions>
</plugin>

何かが無効な場合に備えて、<requireJavaVersion>ブロックを<alwaysPass/>に置き換えてみましたが、それでも同じエラーで失敗しました。

20
X3no

無効なルール名を使用している可能性があります。 rules ページを確認してください。ルール名では大文字と小文字が区別されます。ここではそうではありませんが。

----編集----

POM構成の実行IDはenforce-Javaであり、その実行はライフサイクルのvalidateフェーズにバインドされていることに注意してください。コマンドmvn enforcer:enforceは、ライフサイクルのフェーズではなく、目標を実行しています。 POMで指定した構成は、enforcer:enforce目標には適用されません。

これを機能させるには2つの方法があります。どちらを選択するかは、必要なものによって異なります。

  1. ビルド全体を実行せずにエンフォーサプラグイン構成をテストするだけの場合は、mvn validateを実行します。
  2. mvn enforcer:enforceが機能することが要件である場合は、実行IDをdefault-cliに変更します。
24
user944849

Vertxワークショッププロジェクトをビルドしようとしたときに、このまったく同じエラーが発生しました。結局のところ、エラーは主にエンフォーサプラグインのバージョンに関連する問題です。この次の構成は私のためにそれを解決しました。

      <plugin>
          <groupId>org.Apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>3.0.0-M3</version><!--$NO-MVN-MAN-VER$-->
          <executions>
              <execution>
                  <id>enforce-Java</id>
                  <phase>enforce</phase>
                  <goals>
                      <goal>enforce</goal>
                  </goals>
                  <configuration>
                      <rules>
                          <requireJavaVersion>
                              <version>(1.8.0,)</version>
                          </requireJavaVersion>
                      </rules>
                  </configuration>
              </execution>
          </executions>           
</plugin>
0
Gautam