0%

Spring Boot 通过Maven实现多环境配置打包

在开发过程中,针对不同的运行环境(开发环境、测试环境、生产环境等)要配置不同的参数,比如数据源配置、端口配置、Log配置等,如果每次都手动修改那么不仅麻烦而且还容易出错,所以我们需要针对多环境进行管理。

在pom.xml文件中添加多环境配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!-- Application Environment Setting -->
<profiles>
<profile>
<id>dev</id>
<activation>
<!-- Default Active Without Assign Parameter -->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profileActive>dev</profileActive>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profileActive>test</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>

配置文件中添加devtestprod三个环境的配置, 其中应注意profileActive自定义配置项, 该配置项指明应用配置文件的名称, 此配置项将在application.ymlapplication.properties中应用。

修改applcation.yml或application.properties配置项

替换spring.profies.active配置项,如下所示:

1
2
3
spring:
profiles:
active: @profileActive@

@profileActive@为上一步骤中pom.xml文件配置的自定义配置项, 该参数可以根据开发人员自身的习惯进行命名和配置。

创建不同环境下的配置文件

例如环境分为开发环境、测试环境和生产环境,创建如下文件:

1
2
3
4
5
└── resources
├── application.yml
├── application-dev.yml
├── application-prod.yml
└── application-test.yml

然后根据不同的环境配置不同的参数。

使用maven命令打包成相应环境的应用程序包

  • 生产环境
    1
    mvn clean package -Pprod -U
  • 测试环境
    1
    mvn clean package -Ptest -U
  • 开发环境
    1
    mvn clean package -Pdev -U

    Spring Boot中切换环境

    在菜单中选择: View -> Tool Windows -> Maven,然后选择需要的环境:
    Spring Boot中选择环境