Spring Boot —— Maven Profile多配置
前言
通过maven管理多环境,达到快速切换和部署效果。可以在Jenkins环境使用maven命令执行不同客户端,在单点Spring Boot 项目中通过Maven发布很有用!但在Cloud环境下为达到快速发布,我们使用Consul或者Docker配置。
实现步骤
- 一、修改pom.xml
基于Spring Boot 2+ 实现,pom中会包含对应包
<!-- Boot 依赖 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<!-- Boot Web 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--spring freemarker依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
</dependencies>
<!-- 配置不同环境配置,这里设置了4个环境dev、sit、prd1、prd2 -->
<profiles>
<profile>
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
<maven.test.skip>true</maven.test.skip>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>sit</id>
<properties>
<profiles.active>sit</profiles.active>
<maven.test.skip>true</maven.test.skip>
</properties>
</profile>
<profile>
<id>prd1</id>
<properties>
<profiles.active>prd1</profiles.active>
<maven.test.skip>true</maven.test.skip>
<scope.jar>provided</scope.jar>
</properties>
</profile>
<profile>
<id>prd2</id>
<properties>
<profiles.active>prd2</profiles.active>
<maven.test.skip>true</maven.test.skip>
<scope.jar>provided</scope.jar>
</properties>
</profile>
</profiles>
<!-- 添加Build,用于动态读取*.yml -->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>application-dev.yml</exclude>
<exclude>application-sit.yml</exclude>
<exclude>application-prd1.yml</exclude>
<exclude>application-prd2.yml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<!-- ${profiles.active}对应上面的profiles中的profiles.active节点 -->
<include>application-${profiles.active}.yml</include>
<include>application.yml</include>
</includes>
</resource>
</resources>
</build>
<!--注意: 这里必须要添加,否则各种依赖有问题 -->
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
- 二、编写对应配置
对应编写application-dev、application-sit、application-prd1、application-prd2四个配置文件
完成
截图
Maven结构
项目结构
项目地址
版权声明:本文为Cy_LightBule原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。