maven打包動態加載配置文件

在以前發佈 LOCAL、SIT、生產 進行打包的時候,一般會選擇兩種解決方式
1. 每次更改配置文件的內容(路徑、數據庫配置等) 
2. 將不同的環境分開。打包測試就開啓測試環境的代碼,打包發佈生產就打開生產的項目代碼。(此種情況適合流程化管理)

很多時候是 本地、測試、生產打包都歸你一個人操作的時候,啓動多個項目或者修改配置文件就比較麻煩了。可以選擇動態加載配置文件的方式,如下。

一:如圖所示,在每次packet(3所示)之前,選擇2處對應的環境,即可完成對應環境的打包。   (注意clean)


二:具體說下pom文件配置

注:
profiles 中配置你的各個環境的包名 
targetPath 目標路徑 你的這幾個包名的上級包名
activeByDefault true默認顯示的打包環境
詳細配置說明如下:
<profiles>
    <!--本地環境-->
    <profile>
        <id>local</id>
        <properties>
            <profiles.activation>local</profiles.activation>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <!--測試環境-->
    <profile>
        <id>test</id>
        <properties>
            <profiles.activation>test</profiles.activation>
        </properties>
    </profile>
    <!--正式環境-->
    <profile>
        <id>product</id>
        <properties>
            <profiles.activation>product</profiles.activation>
        </properties>
    </profile>
</profiles>

<build>
    <finalName>你的項目取名</finalName>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
        <resource>
            <!--resources下的所有配置文件-->
            <directory>src/main/resources</directory>
            <excludes>
                <!--排除測試環境和生產環境配置文件-->
                <exclude>*/product/*.properties</exclude>
                <exclude>*/test/*.properties</exclude>
                <exclude>*/local/*.properties</exclude>
            </excludes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <!--根據profiles參數 導入測試或生產環境配置文件-->
            <directory>src/main/resources/commonConfig/${profiles.activation}</directory>
            <targetPath>commonConfig</targetPath>
            <filtering>true</filtering>
        </resource>
    </resources>

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

三:調用的時候 注意路徑(目標路徑+你的配置文件名即可)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章