一、通过profile包含不同的属性文件,获取不同的配置
1、工程文件截图

2、pom.xml 配置
配置一:
<profiles>
<profile>
<!-- 本地开发环境 -->
<id>dev</id>
<properties>
<!-- 这里的属性名是随便取的,可以在后续配置中引用 -->
<profiles.dir>dev</profiles.dir>
</properties>
<!-- 是否默认 -->
</profile>
<profile>
<!-- 生产环境 -->
<id>pro</id>
<properties>
<profiles.dir>pro</profiles.dir>
</properties>
<activation>
<activeByDefault>true</activeByDefault> <!--设置默认属性-->
</activation>
</profile>
</profiles>
配置二:
<build>
<finalName>xxx</finalName>
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- **/*.properties 是指包括根目录或子目录所有properties类型的文件 -->
<!-- 排除dev、test目录下的文件 -->
<excludes>
<exclude>dev/*</exclude>
<exclude>pro/*</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/${profiles.dir}</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
maven 打包命令:
clean package -DskipTests=true -Pdev
最终编译生成的文件如下:

同时打包生成 xxx.jar
二、通过占位符的形式
1、目标结构

config 目录下的 properties文件对应的包含
spring.profiles.active=dev
或
spring.profiles.active=test
2、pom.xml文件配置
<profiles>
<!-- 默认激活 dev 开发环境 -->
<!-- 线上使用 mvn 打包添加 -Pproduction 变量 -->
<profile>
<!-- 本地开发环境 -->
<id>dev</id>
<properties>
<package.environment>dev</package.environment>
</properties>
<build>
<filters>
<filter>config/dev.properties</filter>
</filters>
</build>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<package.environment>test</package.environment>
</properties>
<build>
<filters>
<filter>config/test.properties</filter>
</filters>
</build>
</profile>
</profiles>
<finalName>${project.name}</finalName>
<resources>
<!-- 用来预处理项目文件 -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>bootstrap.yml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/docker</directory>
<includes>
<include>Dockerfile</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
bootstrap.yml的配置;
spring:
profiles:
active: @spring.profiles.active@
3、maven 命令
编译生成的打包前的目录

同时bootstrap.yml 中的配置为
spring:
profiles:
active: dev
---
mvaen 打包的命令
-pl pip-monitor -am clean package -DskipTests=true -P dev
这是模块的打包。
博客介绍了使用Maven Profile进行不同配置打包的方法。一是通过profile包含不同属性文件获取不同配置,展示了工程文件、pom.xml配置及打包命令;二是采用占位符形式,介绍了目标结构、pom.xml和bootstrap.yml配置以及相关maven命令。
7186

被折叠的 条评论
为什么被折叠?



