通过命令行使用jQAssistant-Maven-Plugin时传递参数'ruleParameters'

问题描述

从命令行使用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