运行命令切换环境
1.创建不同环境配置
- 开发环境:application-dev.properties
- 测试环境:application-test.properties
- 生产环境:application-prod.properties
至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。
2.创建默认激活配置
application.properties
#dev
spring.profiles.active=dev
3.测试运行命令切换
- dev环境设置为8001
- test环境设置为8002
- prod环境设置为8003
开发环境(默认)
java -jar xxx.jar
可以观察到服务端口被设置为8001,也就是默认的开发环境(dev)
测试环境
java -jar xxx.jar --spring.profiles.active=test
可以观察到服务端口被设置为8002,也就是测试环境的配置(test)
生产环境
java -jar xxx.jar --spring.profiles.active=prod
可以观察到服务端口被设置为8003,也就是生产环境的配置(prod)
运行命令切换环境
1.创建不同环境的application.yml
在application.yml文件中添加如下配置:
# 指定执行环境
spring:
profiles:
active: @package.environment@
2.pom.xml配置添加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>
3.添加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>
4.指定环境打包
打包命令
mvn clean package -P dev
mvn clean package -P test
mvn clean package -P prod