web-dev-qa-db-ja.com

ゴールorg.Apache.maven.plugins:maven-enforcer-pluginの実行に失敗しました

私はmavenスプリングプロジェクトを取得しましたが、実行しようとすると、それについて...いくつかのアイデアが...
次はエラーメッセージです。

BUILD FAILURE
------------------------------------------------------------------------
Total time: 4.532s
Finished at: Wed Jul 26 16:04:06 COT 2017
Final Memory: 17M/196M
------------------------------------------------------------------------
Failed to execute goal org.Apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce
(enforce-versions) on project SIMI: Some Enforcer rules have failed. Look above for
specific messages explaining why the rule failed. -> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.

-Xスイッチを使用してMavenを再実行し、完全なデバッグログを有効にします。

エラーと考えられる解決策の詳細については、次の記事を参照してください。[ヘルプ1] http://cwiki.Apache.org/confluence/display/MAVEN/MojoExecutionException

この問題の原因の1つは、プロジェクトのPOMファイルに必要なJavaまたはmavenバージョンが設定されていることです。それを見つける必要があります...しかし、どうすればよいですか?私のようなあなたのプロジェクトのエンフォーサー...(私は同じ問題があり、エンフォーサープラグインが私のプロジェクトのPOMで定義されていないために混乱してしまい、それを見つけることができませんでした)。

エンフォーサプラグインは"effective pom"にあり、確認する必要があります。 Effective pomは、スーパーpom +プロジェクトpomから作成された構成ファイルです。 mavenはこの構成ファイルを使用して、関連する目標を実行します。開発者がpom.xmlで最小構成の詳細を指定するのに役立ちます。構成は簡単に上書きできますが。

効果的なpomを表示するには、2つの方法があります。1-mavenコマンドを使用して、次のコマンドを実行します。

 mvn help:effective-pom

2- IDE:Mavenウィンドウでプロジェクトノードを右クリックして、有効なPOMの表示を選択します(IDEによって異なります)。

あなたの力が何であるかを見つけた後、あなたはあなたのプロジェクトでそれを見つけ、それを変更することができます。私にとって、私の有効なPOMには、Javaを使用するためのrequireMavenVersionルールが1.8であったエンフォーサプラグインがありました。そのため、プロジェクトのJDKバージョンを1.8に変更し、幸いにも問題は解決しました。

この回答がお役に立てば幸いです。

10
arash nadali

誰かが特定のMavenバージョンを実行している可能性があります。

次のメッセージが表示された場合:

[警告]ルール0:org.Apache.maven.plugins.enforcer.RequireMavenVersionが次のメッセージで失敗しました:検出されたMavenバージョン:3.5.4は許容範囲[3.5.2,3.5.2]にありません。

次に、Mavenインストールを指定された範囲内のものに変更します。この例では、バージョン3.5.2のみが許可されています。

4

1.4.1のバージョンmaven-enforcer-pluginを使用していて、このエラーが発生した場合は、古いバージョンのmaven-enforcer-pluginを使用する必要があります。以下のMaven依存関係を見つけることができます:

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <version>1.3.1</version>
</plugin>

他のバージョンは以下のリンクから見つけることができます。

https://mvnrepository.com/artifact/org.Apache.maven.plugins/maven-enforcer-plugin

また、Mavenのバージョンを確認してください。 maven 3.0.xを使用している場合は、maven-enforcer-plugin 1.4.1を使用する必要があります。

3
Mayank Sharma

Java(Java)がバージョン8でJavaコンパイラ(javac)がバージョン11だったため、この問題が発生しました。

これは、バージョンを手動で切り替える必要がある場合、Windowsユーザーにとって一般的です。

最初にバージョンを確認してください:

Java -version
javac -version

IntelliJのアイデアなど、IDEを使用する場合は、プロジェクトの設定も注意深く検討することをお勧めします。 IDEによって生成されたファイルを完全に削除し、プロジェクトを再度インポートすることは理にかなっています。

1
Leonis

私は同じ問題に直面し、pomバージョンを修正することで解決しました。以下のコマンドは、すべてのサブpomで正しく実行されず、異なるpomバージョンが発生しました。 'mvn versions:set -DnewVersion = $ {NEW_VERSION} versions:commit'依存しているpomがある場合、すべてのママが同じバージョンを持っているかどうかを確認します。

0
jAvA