问题描述
从命令行使用jQAssistant-Maven-Plugin时是否可以传递ruleParameters参数?
我试图这样称呼插件的分析目标:
C
但收到错误
mvn com.buschmais.jqassistant:jqassistant-maven-plugin:1.8.0:analyze -Djqassistant.ruleParameters=KEY.VALUE
格式化键值对时出现相同错误:
- KEY = VALUE
- KEY:VALUE
我必须以这种方式使用jQAssistant-Maven-Plugin,因为我无法更改Projects POM,也无法以任何其他方式安装jQAssistant。 不幸的是,我找不到有关如何将Mmap作为Maven的命令行参数传递的任何信息。
很抱歉询问这是否是行家问题。
解决方法
这确实是一个Maven问题:内部的pom.xml中的ruleParameters由Map直接表示,而值由Maven传播。 AFAIK无法使用命令行上的属性直接覆盖它。
一种解决方案可能是在pom.xml中有一个模板ruleParameters部分,如下所示:
<ruleParameters>
<my-rule.param>${myRuleParam}</my-rule.param>
</ruleParameters>
这将允许运行
mvn jqassistant:analyze -DmyRuleParam=foo