未能执行目标 org.apache.maven.plugins:maven-enforcer-plugin

2022-09-01 16:37:55

我有一个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中没有定义执行器插件,所以我找不到它)。

执行器插件在您的“有效pom”中,您应该检查它。Effective pom 是由 super pom + project pom 组成的配置文件。maven 使用此配置文件来执行相关目标。它帮助开发人员在他/她的pom.xml中指定最小的配置细节。尽管可以轻松覆盖配置。

为了显示您的有效pom,有两种方法:1-使用maven命令,运行此命令:

 mvn help:effective-pom

2-使用您的IDE:在Maven窗口中右键单击您的项目节点,然后选择显示有效的POM(这取决于您的IDE)。

在你找到你的部队之后,你可以在你的项目中找到它并改变它。对我来说,我的有效POM有执行器插件,它需要MavenVersion规则使用Java是1.8。所以我把我的项目JDK版本改成了1.8,幸运的是问题解决了。

我希望这个答案可以帮助你。


答案 2

您应该解决问题的根本原因,您的一些依赖项之间的冲突,mvn / java版本,有很多可能的原因。

如果来自不同包的同一库可能有 2 个不同的版本或实现,则可以运行并签入列表。通常,您将在框架中的某个地方有一个父 pom 或依赖项,该依赖项与您添加到 pom 中的依赖项不兼容。mvn dependency:tree

但通常,尽管有此执行器错误,您的项目可以完美地构建和运行,因此这是忽略错误的构建的解决方法。

跳过执行器(并不总是工作)

mvn clean install -Denforcer.skip=true

如果出现错误,则继续生成

mvn clean install -Denforcer.fail=false

可能有一些方法也可以从执行者规则中排除特定的库,这可能比跳过所有内容更好。


推荐