仅针对特定配置文件更改pom属性

时间:2015-12-03 21:10:28

标签: linux bash maven maven-3

我需要从命令行更改定义的配置文件中的pom属性。

我只需要为一个配置文件执行此操作而不是修改其他配置文件。 有没有一个插件我可以用来做这个?

在其中一个配置文件的片段下方(默认为活动状态):

<profile>
    <id>3.7.x</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <support.version>3.7.1</support.version>
    </properties>
</profile>

由于

1 个答案:

答案 0 :(得分:0)

正在运行

mvn clean install -Dsupport.version=your_value 

会有效地更改support.version个人资料中定义的3.7.x属性的值,默认情况下处于活动状态。

如果您想更改另一个配置文件中相同属性的值,也应激活该配置文件,否则您的更改将被忽略。

你会跑:

mvn clean install -Dsupport.version=your_value -Pprofile_name

这将更改profile_name配置文件的support.version值。

但是,请注意,从命令行激活配置文件将在POM中默认停用活动配置文件(在您的情况下为3.7.x),但默认情况下不会激活配置文件作为settings.xml的一部分(但是将由该机器上的所有Maven构建版本共享。)

来自Maven关于profiles

的官方文档
  

除非使用上述方法之一激活同一POM中的其他配置文件,否则此配置文件将自动为所有版本激活。默认情况下处于活动状态的所有配置文件在命令行上激活POM中的配置文件或通过其激活配置时自动停用。