首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法执行目标org.apache.maven.plugins:maven-enforcer-plugin

无法执行目标org.apache.maven.plugins:maven-enforcer-plugin
EN

Stack Overflow用户
提问于 2017-07-27 05:14:44
回答 13查看 80.2K关注 0票数 18

我有一个maven spring项目,但当我试图运行它时,我不能...关于它的一些想法。

下一条是错误消息:

代码语言:javascript
复制
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,以启用完整的调试日志。

有关错误和可能的解决方案的更多信息,请阅读以下文章:Help 1

EN

回答 13

Stack Overflow用户

发布于 2017-08-24 22:35:01

可能导致此问题的一件事是,在项目的POM文件中设置了所需的java或maven版本。你应该能找到它..。但是怎么做呢?也许你在你的项目中找不到像我这样的执行者。(我也遇到了同样的问题,我很困惑,因为我的项目POMs中没有定义enforcer插件,所以我找不到它)。

enforcer插件在你的"effective pom"中,你应该检查它。Effective pom是由超级pom +项目pom生成的配置文件。maven使用这个配置文件来执行相关的目标。它帮助开发人员在他/她的pom.xml中指定最低配置详细信息。尽管配置可以很容易地被覆盖。

要显示有效的pom,有两种方法: 1-使用maven命令,运行以下命令:

代码语言:javascript
复制
 mvn help:effective-pom

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

在你发现你的力量是什么之后,你可以在你的项目中找到它并改变它。对我来说,我的effective POM有一个使用的requireMavenVersion规则是1.8的enforcer插件。因此,我将我的项目JDK版本改为1.8,幸运的是问题得到了解决。

我希望这个答案能帮助你。

票数 22
EN

Stack Overflow用户

发布于 2020-12-16 21:59:44

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

您可以运行mvn dependency:tree并检查列表中是否存在来自不同包的同一个库的2个不同版本或实现。通常,你会在框架中的某个地方有一个父pom或一个依赖项,与你添加到你的pom中的那个不兼容。

但通常情况下,尽管存在此enforcer错误,您的项目仍可以完美地构建和运行,因此这是一种构建时忽略该错误的变通方法

跳过enforcer (并非始终有效)

代码语言:javascript
复制
mvn clean install -Denforcer.skip=true

如果出现错误,则继续构建

代码语言:javascript
复制
mvn clean install -Denforcer.fail=false

可能也有一些方法可以从enforcer规则中排除特定的库,这可能比直接跳过所有东西更好。

票数 6
EN

Stack Overflow用户

发布于 2017-07-27 12:26:02

如果您使用的是maven-enforcer-plugin1.4.1版本,并导致此错误,则需要使用旧版本的maven-enforcer-plugin。你可以在下面找到Maven依赖:

代码语言:javascript
复制
<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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45337558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档