seaswalker / posts

0 stars 0 forks source link

Maven编译时确定spring active profile #55

Open seaswalker opened 2 years ago

seaswalker commented 2 years ago

Spring boot的active profile设置:

spring:
  profiles:
    active: @env@

env是maven的变量。

maven pom.xml的配置:

<profiles>
    <profile>
      <id>dev</id>
      <properties>
        <env>dev</env>
        <envcfg.dir>dev</envcfg.dir>
      </properties>
    </profile>
</profiles>    

可以看到里面有叫做env的变量。然后设置maven打包resource文件时:

<resources>
  <!--加载环境变量的目录-->
  <resource>
  <directory>src/main/resources/env/${env}</directory>
  </resource>
  <!--加载其他配置文件-->
  <resource>
  <directory>src/main/resources</directory>
  <filtering>true</filtering>
  <excludes>
    <exclude>env/**</exclude>
  </excludes>
  </resource>
</resources>

最重要的就是里面的filtering配置。

然后使用maven编译命令: mvn clean compile -Pdev即可。