maven中的profile文件的解析

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.ecit.test</groupId>
    <artifactId>de</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>de</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <!-- 命令采用mvn clean test -Pdev -->
    <!-- 该配置用于对数据库统配的时候进行测试使用 例如: 每个项目有测试和开发,发布三个阶段,使用这个将这三个阶段的profile标签进行封装后用唯一的id进行调用测试,并生成相对应的版本的测试版本进行使用 -->
    <profiles>
        <!-- 设置多个proofile集合 -->
        <profile>
            <id>dev</id><!-- id为唯一的标识id -->
            <properties><!-- 编写的资源文件用于一般将不同时期的数据库配置文件放在这里 -->
                <db-url>http://lonecloud.cn/db:3306</db-url>
                <db-username>casa</db-username>
                <db-password>csa</db-password>
            </properties>
        </profile>
        <profile>
            <id>release</id>
            <properties>
                <db-url>http://lonecloud.com/db:3306</db-url>
                <db-username>casa</db-username>
                <db-password>csa</db-password>
            </properties>
            <activation><!-- 用于对默认的不传参数的时候默认的进行的配置文件 -->
                <activeByDefault>true</activeByDefault><!-- 不传参数默认的指定加载这个profile -->
            </activation>
        </profile>
    </profiles>
    <build><!-- 用于在建立jar或者war命令的时候进行的操作 -->
        <resources>
            <!-- <resource> <directory>src/test/resources</directory> </resource> -->
            <resource><!-- 用于指定对该profile文件能够对于此生效的目录 -->
                <directory>src/main/resources</directory><!-- 对于文件生效的文件夹 -->
                <includes><!-- 文件夹中包括的那些文件可以进行生效 -->
                    <include>**/*.properties</include>
                </includes>
                <excludes><!-- 这个的作用是排除某些文件让他不在build中进行build -->
                    <exclude>dir1/*.properties</exclude><!-- **代表该目录下的及其子目录
                        *代表的是该目录下的所有文件夹
                     -->
                </excludes>
                <filtering>true</filtering><!-- 设置该配置是否生效 -->
            </resource>
        </resources>
    </build>
</project>
View Code

 

posted @ 2016-07-22 00:30  lonecloud  阅读(368)  评论(0编辑  收藏  举报
我的博客即将同步至 OSCHINA 社区,这是我的 OSCHINA ID:lonecloud,邀请大家一同入驻:https://www.oschina.net/sharing-plan/apply