我试图在一个简单的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参数的命名约定吗?
答案 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
它甚至更短:)