我可以覆盖settings.xml(或其他地方)中的各个maven插件设置吗?

时间:2015-04-02 15:40:39

标签: maven pom.xml

我的团队使用一个生成javadoc的插件,可以为我们的构建时间增加大约20 - 30秒。我从来没有使用过这些javadoc,所以我想从构建中删除它们。

由于各种原因无法更改POM,因此我无法添加配置文件以有条件地使用它们(即使它们默认为true!)。

我对the docs的解读表明,这在settings.xml中是不可能的,因为它是截断版本并且不包含。

如何在本地覆盖插件设置?

2 个答案:

答案 0 :(得分:1)

使用系统属性跳过它:

mvn -Dmaven.javadoc.skip=true clean install

您可以使用系统属性更改某些行为,例如配置设置skipTests的值绑定到用户属性skipTests,因此当您使用-DskipTests=true调用Maven时,它将隐式设置此值。

但是,仅当a)您的POM依赖属性进行配置时才有效; b)您的POM到目前为止没有明确设置这些配置设置; c)它不是一些不能通过属性设置的特殊值,例如:接受多个值的配置设置,例如某些"包含/排除"设置。

答案 1 :(得分:0)

如果插件有跳过它的运行选项而你从父pom继承它,是的,你可以在子poms中“重新定义”插件配置。 以下是一些可以帮助您的相关答案: Disable a Maven plugin defined in a parent POM