使用maven来实现多环境的构建可移植性,需要借助maven提供的profile功能,通过不同的环境激活不同的profile来达到构建的可移植性。
先配置好对应的环境包,如图dev,test,pro。在这些环境包中配置不同的环境所需要的文件。
进入需要打包的项目的pom文件下:添加如下配置
<profiles>
<profile>
<!-- 测试环境-->
<id>test</id>
<properties>
<!--这是你的配置文件的包名-->
<profiles.active>test</profiles.active>
</properties>
<activation>
<!--添加这个默认为test包下的环境-->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 开发环境-->
<id>dev</id>
<properties>
<!--开发环境的配置文件所在包-->
<profiles.active>dev</profiles.active>
</properties>
</profile>
<profile>
<!-- 生产环境-->
<id>pro</id>
<properties>
<profiles.active>pro</profiles.active>
</properties>
</profile>
</profiles>
在pom文件的build中间添加resources,这个是为了确定需要的环境所在的位置
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 资源根目录排除各环境的配置,使用单独的资源目录来指定-->
<!--这里是为了声明你所配置的环境有哪些-->
<excludes>
<exclude>test/*</exclude>
<exclude>dev/*</exclude>
<exclude>pro/*</exclude>
</excludes>
</resource>
<resource>
<!--这里是找到你的配置文件的包的位置,然后通过${profiles.active找到对应的环境所在的包-->
<directory>src/main/resources/${profiles.active}</directory>
</resource>
</resources>
</build>
加入这些配置之后可以使用maven的打包命令直接打包,需要不同的环境打不同的包
clean package –Ptest
网友评论