Maven Build profiles

时间:2023-03-09 19:09:16
Maven Build profiles

They modify the POM at build time, and are meant to be used in complementary sets to give equivalent-but-different parameters for a set of target environments (providing, for example, the path of the appserver root in the development, testing, and production environments). \

Profiles specified in the POM can modify the following POM elements:

  • <repositories>
  • <pluginRepositories>
  • <dependencies>
  • <plugins>
  • <properties> (这是compile time的maven properties,不是system properties)
  • <modules>
  • <reporting>
  • <dependencyManagement>
  • <distributionManagement>
  • a subset of the <build> element, which consists of:
    • <defaultGoal>
    • <resources>
    • <testResources>
    • <finalName>

可以用mvn help:active-profiles来查看被active的profiles。

在spring configuration file里用的${sut.env}是system properties,如果想让maven properties来代替它,需要将这个spring xml file包含进<build><resources>里面。否则的话,就需要在profile里加上<build><plugin><configuration><systemPropertyVariables>。