在开发过程中,不同的环境下往往需要不同的配置文件,例如数据库的配置,支付方式支付宝的秘钥,等等。不同环境的部署需要修改这些配置文件,繁琐且易出错,一旦忘记修改会造成一些不必要的麻烦。因此,maven环境的隔离在开发中是非常必要的,通过maven的不同打包方式打包发布到不同的环境,省去了因环境不同而需要逐个更改配置文件的麻烦。Maven环境隔离具体实现如下:
一、创建环境隔离需要的包
建立与resources同级的目录,如图所示
把需要隔离的文件放到各个package中,其中resources目录下放公共的文件,如图:
二、pom文件配置
首先在build节点下增加resources节点,
<build>
<resources>
<resource>
<directory>src/main/resources.${deploy.type}</directory>
<excludes>
<exclude>*.jsp</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
其次,在
build节点外,增加同级profile节点,其中id与deploy.type值必须保持一致,且与前面建立的包名<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<deploy.type>dev</deploy.type>
</properties>
</profile>
<profile>
<id>beta</id>
<properties>
<deploy.type>beta</deploy.type>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<deploy.type>prod</deploy.type>
</properties>
</profile>
</profiles>
三、打包
Tomacat运行,在配置上述profile节点后,点击maven project会出现如下三个图标,选中任一图标后运行tomacat,
Maven运行,在命令框中输入 mvn clean package -Dmaven.test.skip=true -Pbeta,出现build success后表示打包成功。
四、结果
打包完成后,在项目target目录下,找到配置文件,结果如下