繁体   English   中英

在命令行上运行 Maven Enforcer Plugin 规则

[英]Run Maven Enforcer Plugin rule on command line

我想在没有任何 POM 配置的 Maven 项目上强制执行 Maven Enforcer Plugin 的 requireReleaseDeps 规则,只是作为命令行调用。

根据文档,我应该能够像这样传入规则参数

mvn enforcer:enforce -Drules=requireReleaseDeps

或者这应该有效

mvn enforcer:enforce -Drules=org.apache.maven.plugins.enforcer.RequireReleaseDeps

然而,这两个调用都会导致

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.3.1:enforce (default-cli) on project hel
lo-world: The parameters 'rules' for goal org.apache.maven.plugins:maven-enforcer-plugin:1.3.1:enforce are missing or in
valid -> [Help 1]

有人知道这个使用场景是否真的有效,或者我是否必须在这个阶段深入调试插件来解决这个问题?

在插件的 3.0.0-M3 版本和更新版本中,执行器目标现在支持规则参数和命令行执行,而无需在 pom.xml 中进行配置。 https://maven.apache.org/enforcer/maven-enforcer-plugin/enforce-mojo.html#commandLineRules查看更多

不幸的是,目前没有这样的功能,但已经有一个JIRA 问题

它适用于3.0.0-M3版本:

mvn org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce -Drules=requireReleaseDeps

它从 3.0.0 开始可用。 已接受答案中的 Jira 问题已解决: https : //issues.apache.org/jira/browse/MENFORCER-142

mvn enforcer:enforce -Drules=alwaysPass,alwaysFail

使用 Atlassian 的插件分支为我工作: mvn org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-atlassian-m01:enforce -Drules=...

我不得不声明他们的插件库:

<pluginRepositories>
    ....
    <pluginRepository>
        <id>atlassian-3rdparty</id>
        <url>https://maven.atlassian.com/3rdparty</url>
    </pluginRepository>
</pluginRepositories>

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM