本篇內容介紹了“maven中profile如何使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一個項目可能會有不同的環境,例如dev/stating/prod等,不同的環境的配置文件是不同的,如何根據環境快速的切換到對應的配置文件很重要。
<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>
<build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build>
filtering屬性為true時,主要用來替換項目中資源文件(.xml、.properties)當中由 ${...} 標記的變量
以下兩種方式可以激活:
a. mvn package時使用-P參數來指定profile,例如mvn package -P dev,這樣就會把dev 這個profile中的變量設置到項目對應的變量里面,通常是通過${}和@@來注入屬性
b.在對應的profile標簽里面寫入如下標簽,代表默認激活的profile <activeByDefault>true</activeByDefault>
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>
Map<String, Object> map = new HashMap<String, Object>(); map.put("spring.profiles.active", "dev"); MapPropertySource propertySource = new MapPropertySource("map", map); env.getPropertySources().addFirst(propertySource);
env.setActiveProfiles("dev", "test");
在Spring Boot項目中,如果事先在OS環境變量中定義了“SPRING_PROFILES_ACTIVE”,則會采用此處定義的配置文件
以上方式都可以設置多個profile,多個之間通過如逗號/分號等分隔。
“maven中profile如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。