mvn多环境下的配置

时间:2021-09-11 05:51:14

在应用中,我们经常会遇到本地,测试和生产3种不同的环境,因此需要去配置不同的application.

定义resources:

 <resources>

<resource>
      <directory>src/main/resources</directory>
    <includes>
      <include>*.*</include>
    </includes>
    <filtering>true</filtering>
</resource>

      <resource>
     <directory>config/${environment}</directory>   <!--定义资源文件的位置  -->
      <filtering>true</filtering>
    </resource>
<resources>

在项目下建立config,config下建立对应的文件夹(local,sit,uat,release文件夹),在文件夹下放置application.properties等配置启动文件。

mvn的pom中设置:


<!-- 不同环境下使用的配置文件路径 -->
    <profiles>
        <profile>
            <id>sit</id>
            <properties><environment>local</environment></properties>            <activation>                 <activeByDefault>true</activeByDefault>   <!--设置默认值 -->            </activation>
        </profile>
        <profile>
            <id>sit</id>
            <properties><environment>sit</environment></properties>
        </profile>

        <profile>
            <id>uat</id>
            <properties><environment>uat</environment></properties>
        </profile>
        <profile>
            <id>release</id>
            <properties><environment>release</environment></properties>
        </profile>
    </profiles>

如果在profiles中为设置默认值,还可以在pom中设定:

<activeProfiles>
    <activeProfile>sit</activeProfile>
</activeProfiles> 

这样我们在mvn打包时输入以下命令,就会打出对应的sit下的属性文件。

>mvn -Psit  package