Maven 多環境配置檔案管理
通常,專案在生產環境跟開發環境中,配置引數多少會有一點差異,比如:日誌路徑、資料庫地址等等。所以每次打生產環境的包,需要修改一些配置檔案,如果手工修改配置檔案的話,就太浪費人力物力,而且還容易手滑改錯。
實際開發中需要根據不同環境將資源分別存放,構建部署包的時候,利用maven-resources-plugin外掛和profiles命令將差異化的資原始檔以及公共的資原始檔複製到resources目錄下即可。
先上程式碼,後面做詳細解釋
<profiles>
<profile>
<id>dev</id>
<properties >
<package.environment>dev</package.environment>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id >test</id>
<properties>
<package.environment>test</package.environment>
</properties>
</profile>
<profile>
<id>product</id>
<properties>
<package.environment >product</package.environment>
</properties>
</profile>
</profiles>
<build>
<finalName>demo</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>dev/**</exclude>
<exclude>product/**</exclude>
<exclude>test/**</exclude>
<exclude>common/**</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
<warName>demo</warName>
<webResources>
<resource>
<directory>src/main/resources/${package.environment}</directory>
<targetPath>WEB-INF/classes</targetPath>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources/common</directory>
<targetPath>WEB-INF/classes</targetPath>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
1、配置profiles
詳細解釋大家可以自行google,簡單來說profile可以讓定義一系列的配置資訊,然後指定其啟用條件。
上述程式碼profiles節點中,定義了三種環境:dev、test、product。
2、新建四個資料夾用來存放不同環境的資源環境
common:存放公共的資原始檔
dev:存放開發環境資原始檔
test:存放測試環境資原始檔
product:存放生產環境資原始檔
3、配置打包時候忽略新建的四個目錄
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>dev/**</exclude>
<exclude>product/**</exclude>
<exclude>test/**</exclude>
<exclude>common/**</exclude>
</excludes>
</resource>
</resources>
exclude配置規則:
The mapping matches URLs using the following rules:
* matches zero or more characters (匹配0個或N個字元)
** matches zero or more directories in a path (匹配0個或N個目錄)
在此要忽略目錄下面的所有檔案,所以配置test/**
4、配置maven-resources-plugin外掛
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
<warName>demo</warName>
<webResources>
<resource>
<!-- 指定resources外掛處理哪個目錄下的資原始檔 -->
<directory>src/main/resources/${package.environment}</directory>
<!--預設是${build.outputDirectory}指定的目錄 -->
<targetPath>WEB-INF/classes</targetPath>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources/common</directory>
<targetPath>WEB-INF/classes</targetPath>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
啟用不同的profile,package.environment會有不同的值,會去相應的目錄copy資源。
配置完成。
執行maven命令,以生產環境為例:
相關推薦
Maven 多環境配置檔案管理
通常,專案在生產環境跟開發環境中,配置引數多少會有一點差異,比如:日誌路徑、資料庫地址等等。所以每次打生產環境的包,需要修改一些配置檔案,如果手工修改配置檔案的話,就太浪費人力物力,而且還容易手滑改錯。 實際開發中需要根據不同環境將資源分別存放,構建部署包的時
Spring-boot與maven多環境配置檔案設定
通常在開發時,不同的環境有不同的配置引數,通常會使用maven profile來選擇不同環境的配置檔案。下面介紹spring-boot專案如何與maven結合,來根據環境選擇不通的配置引數。 建立屬性配置檔案 首先為不同的環境配置不同的屬性配置檔案,命名
maven多環境配置及檔案命名
網上有很多相關的配置的部落格,都比較零散。找到了可以用的方案,測試有效,做記錄備份~ 專案中很多配置項,全部彙總到resources/properties目錄下,但是測試環境和生產環境的專案需要的配置檔案是不一樣的,每次打包部署不可能還修改配置檔案,因此想到偷懶。 包含兩個效
maven 多環境配置屬性檔案
在開發過程中,我們的軟體會面對不同的執行環境,比如開發環境、測試環境、生產環境,而我們的軟體在不同的環境中,有的配置可能會不一樣,比如資料庫配置檔案、屬性檔案等等。 使用maven來實現多環境的構建可移植性,需要藉助maven提供的profile功能,通過
spring boot多環境配置檔案讀取不到的問題。
程式碼架構: 其中application.yaml中就三行程式碼: 作用是在IED啟動的時候指定當前環境。 但是其實我不是這麼做的,而是在idea中指定。 產生問題: 引入了一個自己寫的starter[jar包],jar包中配置了test環境的配置。但是專案啟動的時候指定了prof
spring 筆記3: Spring 多環境配置檔案切換
使用Spring進行開發時,需要面對不同的執行環境,比如開發環境、測試環境、生產環境等。大多時候不同的環境需要不同的配置檔案。網上很多資料都是使用Spring的Bean definition profiles 功能來實現(https://docs.spring.io/spring/docs/4.2.
springboot maven 多環境配置 jenking構建釋出配置
在後端開發中,應用程式在不同的環境可能會有不同的配置,例如資料庫連線、日誌級別等,開發,測試,生產每個環境可能配置都不一致。 使用Spring Boot的Profile可以實現多場景下的配置切換,方便開發中進行測試和部署生產環境。 下面就大致介紹一下yml配置檔案跟properties配置檔案怎
使用Maven多環境配置打包和部署
基本每個專案都會有開發環境(本地環境)、開發整合環境、測試環境、預釋出環境、正式環境。 最少也有開發環境(本地環境)、測試環境、生產環境3個環境,每個環境的配置是不一樣的,如果每次打包都手動修改配置檔案,工作量大且容易出錯。 所以這個時候就可以考慮使用mav
application.properties多環境配置檔案、jar包外部配置檔案、配置項加密、程式中配置使用
一、簡介 spring boot專案application.properties檔案存放及使用介紹 二、方法一多環境配置檔案 我們一般都會有多個應用環境,開發環境、測試環境、生產環境,各個環境的配置會略有不同,我可以根據這個建立多份配置檔案,由主配置檔案來控制讀取那個子配置 建立spring boot專案
springboot多環境配置檔案
springboot在多環境配置上有很好的支援,先說一下為什麼需要多環境。在軟體開發,測試上線的過程中,我們可能用到的配置引數是不同的,最明顯的是資料庫的連線地址。那麼在不同的環境中我們如何通過讀取不同的配置檔案呢?springboot提供了一套約定優於配置的方案。1、在ap
maven多環境配置打包(自定義properties)
專案開發經常碰到配置檔案中測試的jdbc.url和線上的是不一樣的。為此每次打包都要修改配置檔案,很煩,而且也容易出錯。 最近才發現,原來用maven的profile可以實現多種環境的配置。 1、在src/main/resources/filters,建兩個檔案:test.
SpringBoot初識(四)——Maven多環境配置
Maven多環境有什麼好處 在日常專案開發中,我們經常需要在開發環境、測試環境、生產環境等情況下進行專案的部署,對於配置檔案來說,如果無法識別各個環境,就意味著當我們在進行開發時,需要將配置檔案的內容更改為測試環境,而在進行生產部署時,又需要將其內容改
maven 多環境配置
pom.xml 檔案 節點下新增檔案 <profiles> <profile> <id>dev</id> <!-- dev 隨便起名字 和dev.prope
maven多環境配置總結
開發十年,就只剩下這套架構體系了! >>>
SpringProfile輕鬆切換多環境配置檔案
在專案開發的過程中,我們難免會遇到開發、測試、生產等環境的切換,而各個環境的配置肯定是不同的。傳統的辦法是在專案打包的時候修改配置檔案。但人為做的事情難免產生意外。Spring 為我們提供了一種多環境配置檔案同時存在,而執行/打包時僅執行所選的配置檔案的方式。具體的介紹如下: Spring提供了兩種屬性: s
Maven 進行多環境配置,使用profile檔案進行配置
說明:Spring和Maven都可以進行profile配置多環境,這裡只介紹Maven進行管理。我的開發環境:eclipse+maven 檔案結構目錄: 步驟: 一、在pom.xml檔案中,新增如下: <profiles> <pr
使用maven profile實現多環境配置相關打包
本地 ces 軟件測試 測試 project oca rect fault uil 項目開發需要有多個環境,一般為開發,測試,預發,正式4個環境,通過maven可以實現按不同環境進行打包部署,命令為: mvn package -P dev 在eclipse中可以右擊選項r
SpringBoot系統列 2 - 配置檔案,多環境配置(dev,qa,online) SpringBoot系統列 1 - HelloWorld!
實現專案的多環境配置的方法有很多,比如通過在Pom.xml中配置profiles(最常見) 然後在Install專案打War包的時候,根據需求打不同環境的包,如圖: 這種配置多環境的方法在SSM框架中使用的最多,但在SpringBoot中使用最多的是在啟動SpringBoot專案的時候指定執
Spring Boot 配置檔案詳解:自定義屬性、隨機數、多環境配置等
相信很多人選擇Spring Boot主要是考慮到它既能兼顧Spring的強大功能,還能實現快速開發的便捷。我們在Spring Boot使用過程中,最直觀的感受就是沒有了原來自己整合Spring應用時繁多的XML配置內容,替代它的是在pom.xml中引入模組化的Starter POMs,其中各個模組都有自己的預