maven的profiles

196 阅读1分钟

profiles的作用

方便于开发多环境的配置管理

原理

<profiles>
    <profile>
        // 不同环境的profile的id
        <id>dev</id>
        // 每个profile的属性
        <properties>
            <build.profile.id>dev</build.profile.id>
        </properties>
        // 默认激活
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <build.profile.id>prod</build.profile.id>
        </properties>
    </profile>
    <profile>
        <id>uat</id>
        <properties>
            <build.profile.id>uat</build.profile.id>
        </properties>
    </profile>
</profiles>

通过resource来引入对于的build.profile.id的值,来引入对于配置文件

<resource>
    <directory>src/main/profile/${build.profile.id}</directory>
    <filtering>false</filtering>
</resource>

properties的文件类型

<resource>    
    <directory>
        src/main/profile/profile-${build.profile.id}.properties
    </directory>
</resource>
profiles:
  active: costom

当我们通过profile激活不同的环境,配置文件可以通过获取不同环境的profile的属性来引入不同的配置文件,来达到自动切换环境。

激活

  1. 通过maven命令参数 maven打包时通过-P参数,-P后跟上profile的唯一id

mvn clean package -P

  1. 通过pom文件里的activation属性