1 profiles配置测试环境

1.1作用

根据不同测试环境,赋予<properties>指定变量不同的值。

1.2 配置

1. 实现效果

加载如下测试环境下的*.properties文件

untitled

2. pom.xml

(1)在<profiles>中定义了dev和prod两个环境

(2)配置<build>中的<resources>

这样在运行时就可以将指定测试环境下*.properties文件加入到resource中了。

(3)指定测试环境的mvn命令举例如下:

3. 在上面的例子中,<profile>中定义了<properties>,而在pom.xml中也可以直接使用<properties>来指定一些变量的值。这两者的区别是什么?

在pom.xml中直接使用<properties>来指定变量的值在任何测试环境都是一样的。而在<profile>中的<properties>指定的变量是只在相应的测试环境下才是有效的。

1.3 相关属性

1. resouces 中 exclude配置作用:就是排除这些文件,不进行加载。如下配置

1.4 实例

具体一个配置实例,可以参考

Spring Boot配置文件和maven环境配置

2 Maven的filtering和filters

1.  filtering

就是xxx/目录下面的 pom.xml或者aa.properties中${变量}替换成系统变量的值。如pom.xml中

此时查看系统变量为

此时编译之后上述pom.xml配置的值就好变成

2. filters

filters是为了配合filtering使用的。在filtering中都是用系统环境变量来替换,如果我们此时有很多变量值,那么此时可以将这些变量的值放到一个xx.properties中,然后通过filters来加载

此时就可以在执行mvn clean compiel -Pdev指定这个测试环境时加载这个xx.propertis。用这个xx.properties来替换使用了<filtering>true</filters>的resouce下面的文件中变量值。

3. 作用

可以实现在不同测试环境加载不同的属性键值对。

注意:<filters>只是用来实现的加载键值对,为filtering提供替换键值对集合,并不是加载文件。<profile>用来实现在不同测试环境加载某一个文件。

分类&标签