通过yml文件
server:
port: 8080
my:
name: demo
# 激活文件
spring:
profiles:
active: test
---
# dev
spring:
profiles: dev
server:
port: 8081
my:
name: Durant
---
# test
spring:
profiles: test
server:
port: 8082
my:
name: Irving
---
# prod
spring:
profiles: prod
server:
port: 8083
my:
name: Luka
如果没有指定spring.profiles.active 属性配置,会走通用配置也就是上述当中的"demo"
通过Maven的pom文件
pom文件
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<!--dev-->
<id>dev</id>
<!--properties提供变量属性-->
<!--env.X 包含path环境变量,外部可以指定-->
<properties>
<env.start>dev</env.start>
</properties>
<activation>
<!--默认启动-->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!--test-->
<id>test</id>
<properties>
<env.start>test</env.start>
</properties>
</profile>
<profile>
<!--prod-->
<id>prod</id>
<properties>
<env.start>prod</env.start>
</properties>
</profile>
</profiles>
<build>
<!--打包最终名字-->
<finalName>${project.artifactId}</finalName>
<!--是否是工程资源文件-->
<resources>
<resource>
<directory>src/main/resources</directory>
<!--是否开启过滤,用来替换directory的文件参数-->
<filtering>true</filtering>
<includes>
<include>application-${env.start}.yml</include>
<include>application.yml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<encoding>UTF-8</encoding>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>${*}</delimiter> <!-- 以${}为分隔符,例如 ${jdbc.url} -->
<delimiter>@</delimiter> <!-- 以@为分隔符,例如 @jdbc.url@ -->
</delimiters>
</configuration>
</plugin>
</plugins>
</build>
在src/main/resoucrces/下面创建三个文件
# application-dev.yml
my:
name: Durant
# application-test.yml
my:
name: Irving
# application-prod.yml
my:
name: Luka
applicaion.yml
#配置项目启动的决定使用哪个开发环境 @可以加载到pom中的配置
spring:
profiles:
active: @env.start@
打包命令:
mvn clean package -P {配置的profileId}