maven中的profile檔案的解析

lonecloud發表於2016-07-22
<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

 

相關文章