maven添加多环境配置
日常开发和部署时难免会碰到多环境配置不同,需要切换配置的问题,这次就来记录我在maven项目中添加多环境的过程。
整理出需要的配置添加到pom中
这里以数据库连接地址为例(我这边是springboot项目 配置文件为yml):
在pom.xml中加入profiles配置:
<profiles>
<profile>
<!-- 定义具体环境 -->
<id>dev_env</id>
<properties>
<!-- 定义环境中的属性 -->
<jdbc.url>jdbc:mysql://196.192.168.132:3306/recruit</jdbc.url>
</properties>
<activation>
<!-- 设定默认启动 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod_env</id>
<properties>
<jdbc.url>jdbc:mysql://localhost:3306/recruit</jdbc.url>
</properties>
</profile>
</profiles>
在pom.xml的build中加入resources
<build>
<!-- 配置资源文件对应的位置 -->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
此时pom文件已经修改完毕。
进入需要替换的配置文件中进行修改:
注
需要替换配置文件类型为YML是 应该用 @变量名@ 替换,properties文件类型用 ${变量名} 替换!!!
本人就是没注意yml的替换方式,再加上网上搜到的教程基本都没说到yml替换方式,于是踩了坑(还是自己不够仔细)。
spring:
datasource:
druid:
url: @jdbc.url@?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&allowPublicKeyRetrieval=true&verifyServerCertificate=false&useSSL=false
此时可以运行 mvn package -P 环境id (我这边运行 mvn package -P dev_env ) 看一下有没有生效。