最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

maven中profile動態(tài)打包不同環(huán)境配置文件的實現(xiàn)

 更新時間:2023年10月30日 11:36:27   作者:SYKMI  
開發(fā)項目時會遇到這個問題:開發(fā)環(huán)境,測試環(huán)境,生產環(huán)境的配置文件不同, 打包時經常要手動更改配置文件,本文就來介紹一下maven中profile動態(tài)打包不同環(huán)境配置文件的實現(xiàn),感興趣的可以了解一下

maven中的profile可以在打包時動態(tài)選擇不同的配置文件進行打入,在項目具有開發(fā)、測試、生產環(huán)境時可以更方便優(yōu)雅的進行不同環(huán)境的打包運行

示例圖:

1-配置profile

第一步需要為每個環(huán)境配置一個profile標簽,在pom文件中進行配置。我這里只演示dev和test的環(huán)境配置

    <profiles>
        <profile>
            <id>dev</id> <!--給每個環(huán)境一個唯一的id-->
            <properties><!--在這個標簽中配置你的自定義變量,下面的env就是我自己定義的-->
                <env>dev</env>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault><!--默認激活的環(huán)境-->
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <env>test</env>
            </properties>
        </profile>
    </profiles>

這里需要說明的是自定義的變量,這個變量可以在pom文件中的其他地方以${標簽名}的形式進行引用,同時也可以在springboot的配置文件中進行引用,在springboot的配置文件中進行引用時,使用@標簽名@進行引用

2-配置需要進行打包的文件

當我們配置好環(huán)境之后,需要在pom里新建resources標簽進行根據指定環(huán)境打包指定配置文件的處理

        <resources>
            <resource>
                <directory>src/main/resources</directory><!--指定資源文件夾-->
                <includes>
                    <include>**/*.properties</include><!--將該資源文件夾下的properties文件全部打包-->
                </includes>
                <excludes>
                    <exclude>**/payConfig/**</exclude><!--這里排除payConfig文件夾,也就是說該文件夾中的文件不會被打包,因為這個文件夾下的配置文件需要動態(tài)處理-->
                </excludes>
                <filtering>false</filtering><!--這些資源文件將保持原樣,不會進行任何替換或修改操作-->
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>application-${env}.yml</include><!--這里使用占位符進行動態(tài)引用以確定具體的打包文件-->
                    <include>application.yml</include><!--主配置文件必須打包-->
                </includes>
                <filtering>true</filtering><!--開啟過濾,在打包時application.yml中配置的@env@將被確定到底是什么變量-->
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>config/payConfig/aliPay/${env}/*.properties</include>
                    <include>config/payConfig/wxPay/${env}/*.properties</include>
                </includes>
                <filtering>false</filtering><!--這里不需要設置過濾,上面的${env}是pom內部變量的使用,設置過濾是為了替換文件內的引用變量-->
            </resource>
        </resources>

提示1:filtering標簽用于指定是否對資源文件進行過濾處理。
當一個資源文件需要在構建期間進行替換或修改時,可以使用過濾機制。例如,將屬性值注入到配置文件中,或根據環(huán)境對資源文件進行不同的配置。
提示2:** 表示多級目錄匹配。* 表示一級目錄匹配。

3-配置SpringBoot配置文件

可以看到配置文件中使用了@env@占位符進行配置,也就是說,我們只有在使用maven進行編譯的時候才確定到底是什么值,由于在第二步中已經在pom中開啟了過濾,所以在打包時占位符將被替換

4-編譯測試

我不使用默認的dev環(huán)境,手動選擇test進行編譯

下面是編譯后的文件結構

可以看到成功將test環(huán)境的文件進行編譯,其他不包含,并且application.yml中的值也被替換

同時也可以使用mvn clean package -P[dev|test|pro]指定環(huán)境進行命令行形式打包

TIPS:

  • -P代表(Profiles配置文件) 在<profiles>指定的<id>中,可以通過-P進行傳遞或者賦值。 打包時執(zhí)行mvn clean package -P prod將觸發(fā)prod環(huán)境的profile配置 打包時執(zhí)行mvn clean package -P test將觸發(fā)test環(huán)境的profile配置
  • -D代表(Properties屬性)-D屬性名=屬性值 如果pom文件中已經通過properties標簽指定了值的話,使用命令將替換pom中的值。如果沒有的話,它將被設置

大功告成

到此這篇關于maven中profile動態(tài)打包不同環(huán)境配置文件的實現(xiàn)的文章就介紹到這了,更多相關maven profile動態(tài)打包不同環(huán)境配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解JDBC的概念及獲取數(shù)據庫連接的5種方式

    詳解JDBC的概念及獲取數(shù)據庫連接的5種方式

    Java?DataBase?Connectivity是將Java與SQL結合且獨立于特定的數(shù)據庫系統(tǒng)的應用程序編程接口,一種可用于執(zhí)行SQL語句的JavaAPI。本文主要介紹了JDBC的概念及獲取數(shù)據庫連接的5種方式,需要的可以參考一下
    2022-09-09
  • AOP編程的基本概念與idea編輯器的配合體驗過程

    AOP編程的基本概念與idea編輯器的配合體驗過程

    文章簡要介紹了AOP基礎概念,包括Before/Around通知、PointCut切入點、Advice通知體、JoinPoint連接點等,說明它們如何通過切點表達式(如*、..)關聯(lián)目標方法(DeptServiceImpl),實現(xiàn)公共邏輯抽取與模塊化
    2025-08-08
  • 使用SpringBoot簡單了解Druid的監(jiān)控系統(tǒng)的配置方法

    使用SpringBoot簡單了解Druid的監(jiān)控系統(tǒng)的配置方法

    這篇文章主要介紹了使用SpringBoot簡單了解Druid的監(jiān)控系統(tǒng)的配置,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • java 迭代器模式實例詳解

    java 迭代器模式實例詳解

    這篇文章主要介紹了java 迭代器模式實例詳解的相關資料,需要的朋友可以參考下
    2017-05-05
  • springboot集成普羅米修斯(Prometheus)的方法

    springboot集成普羅米修斯(Prometheus)的方法

    這篇文章主要介紹了springboot集成普羅米修斯(Prometheus)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • bootstrap.yml如何讀取nacos配置中心的配置文件

    bootstrap.yml如何讀取nacos配置中心的配置文件

    這篇文章主要介紹了bootstrap.yml讀取nacos配置中心的配置文件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java中輸入輸出方式詳細講解

    Java中輸入輸出方式詳細講解

    這篇文章主要給大家介紹了關于Java中輸入輸出方式的相關資料,Java輸入輸出是指使用java提供的一些類和方法來實現(xiàn)數(shù)據的輸入和輸出,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-09-09
  • 使用IDEA配置Maven搭建開發(fā)框架ssm教程

    使用IDEA配置Maven搭建開發(fā)框架ssm教程

    這篇文章主要為大家詳細介紹了使用IDEA配置Maven搭建開發(fā)框架ssm教程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Spring集成Web環(huán)境與SpringMVC組件的擴展使用詳解

    Spring集成Web環(huán)境與SpringMVC組件的擴展使用詳解

    這篇文章主要介紹了Spring集成Web環(huán)境與SpringMVC組件,它是一個MVC架構,用來簡化基于MVC架構的Web應用開發(fā)。SpringMVC最重要的就是五大組件
    2022-08-08
  • Mybatis-plus如何開啟二級緩存

    Mybatis-plus如何開啟二級緩存

    這篇文章主要介紹了Mybatis-plus如何開啟二級緩存問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論

冕宁县| 兴文县| 灯塔市| 宣城市| 尼勒克县| 武定县| 鹤山市| 都匀市| 垦利县| 苗栗市| 崇礼县| 商都县| 乌拉特前旗| 来宾市| 米林县| 五寨县| 宣武区| 临潭县| 襄汾县| 拜城县| 新竹市| 双柏县| 平果县| 巴中市| 宿州市| 西藏| 探索| 资阳市| 义马市| 开鲁县| 加查县| 萨迦县| 海门市| 平罗县| 江西省| 广西| 田东县| 房山区| 焦作市| 房产| 双流县|