首先,创建不同环境的application.yml
方式一:在Maven中指定环境打包
1.在application.yml文件中添加如下配置:
# 指定执行环境
spring:
profiles:
active: @package.environment@
2.pom.xml配置:
2.1添加profile
<profiles>
<profile>
<id>dev</id>
<properties>
<package.environment>dev</package.environment>
</properties>
<!-- 是否默认 true表示默认-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<package.environment>test</package.environment>
</properties>
</profile>
<profile>
<!-- 生产环境 -->
<id>prod</id>
<properties>
<package.environment>prod</package.environment>
</properties>
</profile>
</profiles>
2.2 添加resource
<build>
...
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application.yml</include>
<include>application-${package.environment}.yml</include>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
...
</build>
效果如图:
可以选中指定环境进行打包,如果不选,使用默认的application.yml环境。
方式二:在yml里指定环境打包
在默认的 application.yml下,指定环境,打包运行即可。
spring:
profiles:
active: dev
方式三:命令行控制加载环境
在默认的 application.yml下,默认加载开发环境,直接打包。
spring:
profiles:
active: dev
通过命令行 --spring.profiles.active=xxx 来控制加载哪个环境的配置来运行jar包
java -jar xxx.jar --spring.profiles.active=test 表示使用测试环境的配置
java -jar xxx.jar --spring.profiles.active=prod 表示使用生产环境的配置
在控制台有提示如:
2019-07-25 16:49:08.804 INFO 12512 --- [ main] c.l.springsecurity.demo.DemoApplication : The following profiles are ac
tive: test
表示切换到测试环境的配置