溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

maven中profile如何使用

發布時間:2023-04-28 14:24:29 來源:億速云 閱讀:142 作者:iii 欄目:開發技術

本篇內容介紹了“maven中profile如何使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

    一個項目可能會有不同的環境,例如dev/stating/prod等,不同的環境的配置文件是不同的,如何根據環境快速的切換到對應的配置文件很重要。

    一. 在maven中的pom文件中的profile的作用是根據不同的環境將對應的環境變量設置到項目中,如下例子

    步驟一:在pom文件中寫profile

    <profiles>
            <profile>
                <!-- 開發環境 -->
                <id>local</id>
                <properties>
                    <env>local</env>
                    <profileName>local</profileName>
                    <group>LOCAL_GROUP</group>
                </properties>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
            </profile>
            <profile>
                <!-- 聯調開發環境 -->
                <id>dev</id>
                <properties>
                    <env>dev</env>
                    <profileName>dev</profileName>
                    <group>DEV_GROUP</group>
                </properties>
            </profile>
            <profile>
                <!-- 測試環境 -->
                <id>test</id>
                <properties>
                    <env>test</env>
                    <profileName>test</profileName>
                    <group>TEST_GROUP</group>
                </properties>
            </profile>
            <profile>
                <!-- 預發環境  -->
                <id>pre</id>
                <properties>
                    <env>pre</env>
                    <profileName>pre</profileName>
                    <group>PRE_GROUP</group>
                </properties>
            </profile>
            <profile>
                <!-- 生產環境  -->
                <id>prod</id>
                <properties>
                    <env>prod</env>
                    <profileName>prod</profileName>
                    <group>PROD_GROUP</group>
                </properties>
            </profile>
        </profiles>

    步驟二:設置 resources的位置和filtering為true

        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <filtering>true</filtering>
                </resource>
            </resources>
        </build>

    filtering屬性為true時,主要用來替換項目中資源文件(.xml、.properties)當中由 ${...} 標記的變量

    步驟三:激活profile

    以下兩種方式可以激活:

    a. mvn package時使用-P參數來指定profile,例如mvn package -P dev,這樣就會把dev 這個profile中的變量設置到項目對應的變量里面,通常是通過${}和@@來注入屬性

    b.在對應的profile標簽里面寫入如下標簽,代表默認激活的profile  <activeByDefault>true</activeByDefault> 

    二. spring中的profile

    Spring中有個注解叫做@Profile("dev"),這個注解只有在對應的profile激活才能使用,這個profile和上面的maven中的沒關系,可以通過如下方式激活

    一、啟動Java應用時,通過-D傳入系統參數

    -Dspring.profiles.active=dev

    二、如果是web環境,可以通過上下文初始化參數設置

    <context-param>  
        <param-name>spring.profiles.active</param-name>  
        <param-value>dev</param-value>  
    </context-param>

    三 、通過自定義添加PropertySource

    Map<String, Object> map = new HashMap<String, Object>();  
    map.put("spring.profiles.active", "dev");  
    MapPropertySource propertySource = new MapPropertySource("map", map);  
    env.getPropertySources().addFirst(propertySource);

    四、直接設置Profile

    env.setActiveProfiles("dev", "test"); 

    五、通過操作系統的環境變量來激活

    在Spring Boot項目中,如果事先在OS環境變量中定義了“SPRING_PROFILES_ACTIVE”,則會采用此處定義的配置文件

    以上方式都可以設置多個profile,多個之間通過如逗號/分號等分隔。 

    “maven中profile如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女