通常,项目要在多个环境部署,每种环境都有各自的资源配置参数,比如:数据库连接、Redis服务器地址等等。
所以,各个环境打包出来的资源是不一样的,如果手动的修改,费时费力。我们可以利用MAVAN的**profiles**命令
来自动化构建不同的部署包。
项目资源配置
一般情况下,项目引用的资源文件可以分为
- 公共资源文件
- 各自环境的差异化资源文件
在项目实际运行的时候,所引用的资源文件全部都在一个资源目录下,而存放的时候根据类型不同存放。
所以,构建部署包的时候,利用maven-resources-plugin插件和profiles命令将目标环境的差异化资源复制到公共资源位置,只需要把目标环境差异化的资源文件复制与公共资源一致的目录下即可。
在pom.xml中配置profiles
<project>
...
<profiles>
<profile>
<id>dev</id>
<properties>
<package.environment>dev</package.environment>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>product</id>
<properties>
<package.environment>product</package.environment>