maven通过profile构建不同环境配置包

一个项目里总会有很多配置文件。而且一般都会有多套环境。开发的、测试的、预上线、正式的。而在这些环境的配置都不太一样。比如数据库、redis等,这些都是很常见的。所以在打包的时候就需要根据不同的环境打包。

下面讲的就是利用maven为不同环境建立不同的环境包,下面是我的目录结构图:

在一个标准的maven项目src/main目录下添加了一个conf目录,conf目录中有devproduction,2个目录。分别代表开发生产环境(当然你可以自行添加更多配置目录)

然后在pom.xml中添加下面的xml:

<profiles>
    <!-- 默认激活 dev 开发环境 -->
    <!-- production使用 mvn xxx -Pproduction -->
    <profile>
        <!-- 本地开发环境 -->
        <id>development</id>
        <properties>
            <profiles.active>dev</profiles.active>
        </properties>
        <!-- 默认激活 dev -->
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <!-- 生产环境 -->
        <id>production</id>
        <properties>
            <profiles.active>production</profiles.active>
        </properties>
    </profile>
</profiles>


然后他会默认激活dev开发环境,如图标示1(在idea中会显示成资源文件目录图标)。

注意:示例代码来自spring-shiro-training,git地址:http://git.oschina.net/wangzhixuan/spring-shiro-training

由于spring-shiro-training项目是开源项目,我们将production中的配置文件使用.gitignore文件进行了排除,这样避免私密配置暴露(如图标示2)。

上面就是我今天的分享,对spring-shiro-training项目感兴趣的朋友可以加群一起讨论哦。QQ群:237587118

捐助共勉
版权声明:若无特殊注明,本文皆为原创,转载请保留文章出处。