[英]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.