spring.profiles.active=@profiles.active@ ,其实是配合 maven profile 进行选择不同配置文件进行启动。
当执行
mvn clean package -P test 命令时, @profiles.active@ 会替换成 test
springboot 项目 pom 配置样例,默认激活的是localhost环境配置
<profiles>
<profile>
<id>local</id>
<properties>
<env-dir>local</env-dir>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>dev</id>
<properties>
<env-dir>dev</env-dir>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<env-dir>test</env-dir>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<env-dir>prod</env-dir>
</properties>
</profile>
</profiles>
可以再resources文件中专门放一个文件夹存放配置文件,如下:environments文件就是专门用来存放不同环境配置的文件夹。
<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/resources/environments/${env-dir}</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<!--排除其他环境配置文件 -->
<exclude>environments/**</exclude>
</excludes>
</resource>
</resources>
</build>