建立多个配置文件
application.yml 基础配置,通用
application-dev.yml 开发环境特有配置
application-sit.yml 测试环境
application-prod.yml 生产环境
关键参数设置
application.yml 设置动态激活环境
spring:
profiles:
active: @profiles.active@
配置maven pom.xml
添加打包插件信息
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
</plugins>
<resources>
<!-- 使用如下resource标签将src/main/resources中的以application-开头的yml文件排除掉 -->
<!-- 也就是说maven打包的时候是不会将application-的yml文件开头的文件打包上的-->
<resource>
<directory>src/main/resources/</directory>
<filtering>true</filtering>
<excludes>
<exclude>application-*.yml</exclude>
</excludes>
</resource>
<!-- 使用如下resource标签将src/main/resources中的application-${activeProfile}.yml文件包括上 -->
<!-- 也就是指定maven在打包的时候需要将该文件打包上 -->
<!-- 当dev环境激活的时候application-${activeProfile}.yml表示的就是application-dev.yml -->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application-${profiles.active}.yml</include>
</includes>
</resource>
</resources>
</build>
添加构建不同环境的设置 pom.xml
<!-- 添加到根project标签的下一级 -->
<profiles>
<!-- 本地开发环境(默认) -->
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 自由命名,这个值会在application.yml的"@profiles.active@"取到 -->
<profiles.active>dev</profiles.active>
</properties>
</profile>
<!-- 测试环境 -->
<profile>
<id>sit</id>
<properties>
<profiles.active>sit</profiles.active>
</properties>
</profile>
<!-- 生产环境 -->
<profile>
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
</properties>
</profile>
</profiles>
如何使用
一定一定一定刷新一下pom之后clean再启动
idea直接启动默认就是dev环境
sit打包构建命令
mvn clean install -P sit
这样就可以直接发版了,发版启动也无需再指定环境,打包时已经指定