Spring使用Maven profiles、filters、resources实现不同环境使用不同的配置文件
在项目开发时,我们用的是本地搭建的开发dev
环境,开发完成打包部署到服务器时,用到的是服务器prod
环境。可以借用Maven
的profiles
、filters
和resources
,在运行或打包时指定选用的环境,实现不同环境自动使用各自环境的配置文件或配置信息。
profiles
:定义环境变量的id;filters
:定义了变量配置文件的地址,其中地址中的环境变量就是上面profile
中定义的值;resources
:定义哪些目录下的文件会被配置文件中定义的变量替换,另外可以指定目录下的文件打包到classes
目录下。
定义环境变量profiles
一般环境变量分:dev
开发环境、prod
发布环境,当然也可以类比添加其他的环境标志。
此处详细可参看:maven profile动态选择配置文件、maven profile切换正式环境和测试环境
<profiles>
<!-- 开发测试环境 -->
<profile>
<id>dev</id>
<activation>
<!-- 设置默认激活dev环境的配置 -->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profile.env>dev</profile.env>
</properties>
</profile>
<!-- 产品发布环境 -->
<profile>
<id>prod</id>
<properties>
<profile.env>prod</profile.env>
</properties>
</profile>
</profiles>