POM中profile配置maven根據不同的運行環境,打包不同的配置文件


1.首先在pom添加如下profile配置

<profiles>
    <profile>
        <!-- 本地開發環境 -->
        <id>dev</id>
        <properties>
            <profiles.active>dev</profiles.active>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <!-- 測試環境 -->
        <id>test</id>
        <properties>
            <profiles.active>test</profiles.active>
        </properties>
    </profile>
    <profile>
        <!-- 生產環境 -->
        <id>pro</id>
        <properties>
            <profiles.active>pro</profiles.active>
        </properties>
    </profile>
</profiles>

2.工程目錄src/main/resources中建立對應配置

如開發環境、測試環境、生產環境的配置文件分別放到src/main/resources目錄下的dev、test、pro三個子目錄中,剩余公共的配置文件放於resources目錄下,如dev的config.properties:

hibernate.dialect=org.hibernate.dialect.OracleDialect
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
hibernate.connection.username=platform_portal_service
hibernate.connection.password=kingstar
#hibernate.connection.url=jdbc:oracle:thin:@127.0.01:1521:orcl
hibernate.connection.url=jdbc:oracle:thin:@127.0.01:1521/dev

3.在pom中的build節點下,配置資源文件的位置,如下所示:

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 資源根目錄排除各環境的配置,防止在生成目錄中多余其它目錄 -->
                <excludes>
                    <exclude>test/*</exclude>
                    <exclude>pro/*</exclude>
                    <exclude>dev/*</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources/${profiles.active}</directory>
            </resource>
        </resources>
    </build>

首先第一個資源文件位置src/main/resources需要排隊提各個環境的配置文件,各個環境的配置我們在第二個節點中通過前面在profile中配置的profiles.active屬性來指定。即src/main/resources/${profiles.active}。這樣在激活指定的profile時,會加載指定目錄下的配置文件,如當前激活的是pro profile,那么這個資源目錄就是src/main/resources/pro。這樣就達到了不同環境加載不同配置的目的

4.項目編譯生成

mvn clean package -Pdev即構建出生產環境需要的包


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM