Maven Profile多环境打包

来源:互联网 发布:电脑照片后期制作软件 编辑:程序博客网 时间:2024/05/01 10:43

在项目管理中,对于一个项目或者产品,我们经常会有开发,测试,预发布,生产等多套环境。为避免每次打包发布有过多的人为干扰因素,我们可以利用maven的profile来管理配置项。命令:mvn install -P dev


<build>        <outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/classes/</outputDirectory>        <resources>            <resource>                <directory>src/main/resources</directory>    //定义需要替换配置的文件路径                <filtering>true</filtering>                </resource>        </resources>        <plugins></plugins></build>


方法一:

将配置项写在mvn中

<profiles>        <profile>            <id>Local</id>            <activation>                <activeByDefault>true</activeByDefault>            </activation>            <properties>                <!-- 打包配置选择 -->                <!-- 公共配置 需要考虑是否单独配置成私有 -->                <mvn.common.username>local</mvn.common.username>            </properties>        </profile>        <profile>            <id>Testing</id>            <properties>                <!-- 打包配置选择 -->                <!-- 公共配置 需要考虑是否单独配置成私有 -->                <mvn.common.username>testing</mvn.common.username>            </properties>        </profile>        <profile>            <id>Pro</id>            <properties>                <!-- 打包配置选择 -->                <!-- 公共配置 需要考虑是否单独配置成私有 -->                <mvn.common.username>pro</mvn.common.username>            </properties>        </profile>    </profiles>

方法二:

将配置项单独写在配置文件中

<profiles><profile><id>Local</id><activation><activeByDefault>true</activeByDefault></activation><build><filters><filter>../Test.properties</filter></filters></build></profile><profile><id>Testing</id><build><filters><filter>../Production.properties</filter></filters></build></profile></profiles>

注:

1.profiles定义了各个环境的变量id,activeByDefault定义默认打包的环境

2.resources中是定义哪些目录下的文件会被配置文件中定义的变量替换,一般我们会把项目的配置文件放在src/main/resources下,里面用到的变量在打包时就会根据filter中的变量配置替换成固定值



0 0