pom.xml之profiles

来源:互联网 发布:调查问卷分析数据的app 编辑:程序博客网 时间:2024/06/16 05:57

1、profiles是什么?有什么作用

在maven构建的项目都存在一个pom.xml的项目对象模型配置文件,用于约束项目(如:jar包管理、构建管理等)。profiles是pom.xml中的一个配置项。

我们在开发项目时一般都会区分线上环境和测试环境,这两个环境需要切换以适应不同的环境需求


正式环境的配置,一般放置于src/main/resources下,而测试环境放置于/src/test/resources下面。

profile的主要作用就是区分正式环境和测试环境的配置

2、如何配置

<profiles>    <profile>        <id>release</id>        <build>            <resources>                <resource>                    <directory>src/main/resources</directory>                    <includes>                        <include>**/*</include>                    </includes>                </resource>            </resources>        </build>    </profile>        <profile>        <id>test</id>        <build>            <resources>                <resource>                    <directory>src/test/resources</directory>                    <includes>                        <include>config/*.properties</include>                        <include>log4j.xml</include>                    </includes>                </resource>                <resource>                    <directory>src/main/resources</directory>                    <includes>                        <include>**/*.xml</include>                    </includes>                    <excludes>                        <exclude>log4j.xml</exclude>                    </excludes>                </resource>            </resources>        </build>
<activation>                <activeByDefault>true</activeByDefault>           </activation>    </profile></profiles>
如上, 我配置了两个profile一个release用于正式环境发布,test用于测试环境使用;默认开启测试环境,activation-><activeByDefault>true</activeByDefault>

测试环境与正式环境只是部分的配置不同,我们需要公用这部分配置。这就使用到了includes and excludes,用引入和排除配置文件

3、区别构建发布包

构建测试包: maven package -P test -Dmaven.test.skip=true

构建正式包:maven package -P release -Dmaven.test.skip=true



0 0
原创粉丝点击