从命令行覆盖pom pluginManagement中定义的Maven插件配置
我的项目inheritance的POM包含一些用于release
插件的 ,它指定了一些额外的
arguments
。
我的问题是:在这种情况下,有没有办法从命令行覆盖arguments
参数?
父POM有这个:
maven-release-plugin -Prelease
由于命令行参数不起作用:
mvn release:prepare -Darguments="-Pmock -Prelease"
-Darguments="-Pmock -Prelease"
部分无效。 如果尚未指定参数,则它可以正常工作。
我不可能修改父POM或不使用它。
找到了解决方案。 在我的 POM中,我添加了这个,它覆盖了父 POM中的设置,并允许在命令行上指定其他参数,例如-Darguments=-Pmock
maven-release-plugin ${arguments} -Prelease
您无法覆盖已在POM中设置的配置(请参阅Maven Bug MNG-4979 )。 您可以使用变量以避免此行为。 你的答案的片段使用它。