当包含“-”时,Maven无法识别参数

时间:2019-04-16 13:40:55

标签: java maven

我试图在一个简单的spring-boot项目上测试this maven插件。但是我遇到了mojo参数的问题,当我使用包含“-”和目标的参数时,它似乎不起作用:

$ mvn clean install fabric8:build fabric8:resource \
> -Dfabric8.openshift.enableAutomaticTrigger=false \
> -Dfabric8.enricher.fmp-openshift-imageChangeTrigger.enrichAll=true

但是当我将这些参数作为系统属性放入项目的pom.xml中时。他们似乎被maven插件选中并按预期方式工作。我是这样添加到pom的:

  <properties>
    <fabric8.openshift.enableAutomaticTrigger>false</fabric8.openshift.enableAutomaticTrigger>
    <fabric8.enricher.fmp-openshift-imageChangeTrigger.enrichAll>true</fabric8.enricher.fmp-openshift-imageChangeTrigger.enrichAll>
  </properties>

我在这里很困惑。谁能告诉我为什么在以前的情况下它不起作用?我们应该遵循某种针对mojo参数的命名约定吗?

1 个答案:

答案 0 :(得分:2)

我建议您使用一种解决方法(在我看来,这是比调试Maven更快的解决方案):

<properties>
   <f8.autoTrigger>your_default_here</f8.autoTrigger>
   <f8.enrichAll>your_other_default_here<f8.enrichAll>
   <fabric8.openshift.enableAutomaticTrigger>${f8.autoTrigger}</fabric8.openshift.enableAutomaticTrigger>
   <fabric8.enricher.fmp-openshift-imageChangeTrigger.enrichAll>${f8.enrichAll}</fabric8.enricher.fmp-openshift-imageChangeTrigger.enrichAll>
</properties>

如果要覆盖默认值,可以调用maven,例如:

$ mvn clean install fabric8:build fabric8:resource \
> -Df8.autoTrigger=false \
> -Df8.enrichAll=true

它甚至更短:)