在命令行上运行Maven Enforcer插件规则

Man*_*ser 10 maven maven-enforcer-plugin

我想在Maven项目上强制执行Maven Enforcer插件的requireReleaseDeps规则,而不需要任何POM配置作为命令行调用.

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

mvn enforcer:enforce -Drules=requireReleaseDeps
Run Code Online (Sandbox Code Playgroud)

或许这应该有效

mvn enforcer:enforce -Drules=org.apache.maven.plugins.enforcer.RequireReleaseDeps
Run Code Online (Sandbox Code Playgroud)

但是这两个调用都会产生

[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]
Run Code Online (Sandbox Code Playgroud)

任何人都知道这种使用场景是否真的以某种方式工作,还是我必须在这个阶段深入调试插件来解决这个问题?

khm*_*ise 8

不幸的是,目前还没有这样的功能,但已经存在JIRA问题.


小智 8

它适用于以下3.0.0-M3版本:

mvn org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce -Drules=requireReleaseDeps
Run Code Online (Sandbox Code Playgroud)


hak*_*iri 5

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

mvn enforcer:enforce -Drules=alwaysPass,alwaysFail
Run Code Online (Sandbox Code Playgroud)