不同环境的如何配置不同的变量

在项目的开发中,一般会有dev、test、statge、prod等环境的区分。

如何管理变量在不同环境中的值?

有多种实践方式

第一种

①在项目的根目录下建立如下pom文件:

pom.xml(默认)
pom_test.xml
pom_prod.xml
pom_dev.xml

②打包时,指定pom文件:

# 生产环境
mvn clean package -f pom_prod.xml
# 测试环境
mvn clean package -f pom_test.xml
# 开发环境
mvn clean package -f pom_dev.xml

由于多个 pom.xml 之间重复配置很多,不容易维护,实际中不推荐使用这种方式。

第二种

①在项目根目录中建立如下目录

②在pom文件中,建立对应的profile

③在pom中配置打包插件

④打包时,指定环境

注意:

  • 配置文件所在目录不一定建在项目根目录下,也可以建立在于java文件平级的地方,或者其他任何地方,只要在打包插件中指定就可以了。

  • 目录中配置文件可以有多个,打包时都会包含进去

第三种

这种与第二种类似,只是无需新建配置文件,而是直接将变量配置在pom文件中。

①在pom文件中的profile中配置变量

②在pom中配置resource中的filter为true(目的:将其他地方的占位符替换为pom中配置的真正的值)

③打包时,指定环境

个人更倾向于使用第二种方式。

Last updated