1. 程式人生 > >Spring boot 使用profile完成不同環境的maven打包功能

Spring boot 使用profile完成不同環境的maven打包功能

我們在日常開發工作中通常會根據不同的專案執行環境,新增不同的配置檔案,例如 開發環境,測試環境,生產環境等,每次手工的修改配置檔案太過於繁瑣。通過maven打包時確定需要使用的配置檔案可以很好的解決這個問題。

下面看一下程式碼目錄


application-dev.properties對應開發環境

application-test.properties對應測試環境

application-prod.properties對應生產環境

application.properties中填寫[email protected]@,這裡的@[email protected]是一個變數對應pom檔案裡的環境配置。


下面是pom檔案的配置

	<profiles>
		<profile>
			<id>dev</id>
			<properties>
				<!-- 環境標識,需要與配置檔案的名稱相對應 -->
				<activatedProperties>dev</activatedProperties>
			</properties>
			<activation>
				<!-- 預設環境 -->
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>test</id>
			<properties>
				<activatedProperties>test</activatedProperties>
			</properties>
		</profile>
		<profile>
			<id>prod</id>
			<properties>
				<activatedProperties>prod</activatedProperties>
			</properties>
		</profile>
	</profiles>
在pom檔案裡分別配置好不同環境的檔名稱,注意:<activatedProperties>dev</activatedProperties>中的dev與配置檔名稱application-dev.properties要一致
activatedProperties名稱對應application.properties配置檔案中的spring.profiles.active=@[email protected]

當maven打包時會用pom檔案裡<activatedProperties>dev</activatedProperties>中的值替換掉application

.properties配置檔案中的@[email protected]

下面配置maven打包外掛

<build>
    <resources>
        <resource>
        	<!--配置檔案路徑  -->  
            <directory>src/resources</directory> <!--這裡對應專案存放配置檔案的目錄-->
             <!--開啟filtering功能  -->  
            <filtering>true</filtering>
        </resource>
    </resources>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>1.5.2.RELEASE</version>
				<configuration>
			           <mainClass>com.duan.SpringbootMybatis.App</mainClass><!--springboot啟動類目錄-->
			        </configuration>
				<executions>
					<execution>
						<goals>
							<!--建立一個自動可執行的jar或war檔案 -->
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
    </build>

配置完成,下面我們進行打包操作,我是使用eclipse進行打包,專案pom檔案右鍵,run as ---> maven build


觀察控制檯輸入日誌


已經構建成功,重新整理一下專案,target會生成SpringbootMybatis-0.0.1-SNAPSHOT.jar包。

我們可以觀察一下jar包的目錄結構:


開啟manifest.mf檔案


檢視啟動類是否正確。

下面我們執行一下這個jar包,輸入執行命令,java -jar



出現啟動成功資訊,對應埠號是8888與我們application-prod.properties配置檔案中的一致,說明配置成功了。


瀏覽器訪問一下


訪問成功!

主要利用了maven打包時,攔截配置檔案使用pom檔案中的值替換掉[email protected]@中的變數,完成動態配置檔案的使用功能。

相關推薦

Spring Boot+Profile實現不同環境讀取不同配置

images alt quest color ive 作用 讀取 ron 總結 文件結構如下: 但是官方推薦放在config文件夾下。 作用: 不同環境的配置設置一個配置文件,例如:dev環境下的配置配置在application-dev.properties中。p

Spring boot 使用profile完成不同環境maven打包功能

我們在日常開發工作中通常會根據不同的專案執行環境,新增不同的配置檔案,例如 開發環境,測試環境,生產環境等,每次手工的修改配置檔案太過於繁瑣。通過maven打包時確定需要使用的配置檔案可以很好的解決這個問題。 下面看一下程式碼目錄 application-dev.prop

mavenprofile構建不同環境打包

1.首先建立maven工程(略),專案結構如下 2.pom檔案配置   2.1 新增<profiles標籤>,在<profiles>分別定義各個<profile>用來配置開發,測試以及生產的全域性變數,程式碼如下: <p

使用maven profile 實現不同環境打包

maven 的build 配置可以在兩處出現: <span style="font-size:14px;"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww

Spring boot 專案分環境 Maven 打包,動態配置檔案,動態配置專案

Spring boot Maven 專案打包 使用Maven 實現多環境 test dev prod 打包 專案的結構 在下圖中可用看出,我們打包時各個環境需要分開,採用 application-環境.yml 的方式命名 環境配置開始 首先我們需要在app

使用maven profile 構建不同環境引用不同的值

技術分享 resource filters htm rect file .com enc fig 需要做的配置如下 <profiles> <profile> <id>dev</id>

MAVEN利用Profile構建不同環境的部署包

con 都在 lte res 我們 ins ons plugins -i 通常,項目要在多個環境部署,每種環境都有各自的資源配置參數,比如:數據庫連接、Redis服務器地址等等。 所以,各個環境打包出來的資源是不一樣的,如果手動的修改,費時費力。我們可以利用MAVAN的pr

maven學習(下)利用Profile構建不同環境的部署包

接上回繼續,專案開發好以後,通常要在多個環境部署,象我們公司多達5種環境:本機環境(local)、(開發小組內自測的)開發環境(dev)、(提供給測試團隊的)測試環境(test)、預釋出環境(pre)、正式生產環境(prod),每種環境都有各自的配置引數,比如:資料庫連線、遠端呼叫的ws地址等等。如果每個環境

maven profilespring boot profile的區別

maven profile 配置 maven profile 和 spring boot profile的區別 看看哪個適合你的使用場景,這兩個是不一樣的使用場景,具體細節點選上面的連結。 appli

maven屬性、資源過濾、profile不同環境構建專案

maven針對不同環境構建專案 maven使用屬性、資源過濾及profile支援針對不同環境構建專案 maven屬性 一、maven共有六類屬性 1、最常見的是自定義屬性,即在pom檔案裡通過<properties>元素定義的屬性 2、環境變數屬性,可以使用env.引用,可以使用mv

maven屬性、資源過濾、profile不同環境構建項目

定義 倉庫 div sources code ngs demo 資源過濾 close maven針對不同環境構建項目 maven使用屬性、profile及資源過濾支持針對不同環境構建項目 maven屬性 一、maven共有六類屬性 1、最常見的是自定義屬性,即在pom文件

Spring Boot ProfileMaven Profile 整合實踐

在現代的專案開發中多人協作、多環境部署已經是必不可少的軟體開發方式,筆者目前正在開發的一個基於Spring Boot 專案環境就有四套之多,包括(本地、測試、演練、生產)。尤其是現代的大型專案開發,構建複雜、參與人數眾多等因素,使得高效的構建工具必不可少。而Ma

spring中通過Profile配置不同環境下log配置

一般我們在開發的時候,希望log打到控制檯上,而在釋出的時候,希望打到檔案裡面。在spring裡面可以通過profile進行切換。 在application.yml裡面,每個profile增加 logging: config: classpath:log-dev.xm

一點一點學maven(13)--利用maven的filter和profile實現不同環境使用不同的配製

在我們平常的java開發中,會經常使用到很多配製檔案(xxx.properties,xxx.xml),而當我們在本地開發(dev),測試環境測試(test),線上生產使用(product)時,需要不停的去修改這些配製檔案,次數一多,相當麻煩。現在,利用maven

利用springprofile切換不同環境

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"

利用mavenProfile構建不同環境的部署包,選擇不同properties構建不同環境

參考文章網址: http://www.cnblogs.com/yjmyzz/p/3941043.html 專案開發好以後,通常要在多個環境部署,我公司有三套:prod,dev,test,資料庫有兩套mysql,oracle 專案的相關環境的目錄: pom.xml中的p

利用maven的resources、filter和profile實現不同環境使用不同配置檔案

在我們平常的java開發中,會經常使用到很多配製檔案(xxx.properties,xxx.xml),而當我們在本地開發(dev),測試環境測試(test),線上生產使用(product)時,需要不停的去修改這些配製檔案,次數一多,相當麻煩。現在,利用maven的filter和profile功能,我們可實現在

第十四章 springboot + profile不同環境讀取不同配置)

img ont 代碼執行 ring stp uri div () rim 具體做法: 不同環境的配置設置一個配置文件,例如:dev環境下的配置配置在application-dev.properties中;prod環境下的配置配置在application-prod.

Spring Boot 多模塊與 Maven 私有倉庫

.project date content reporting pts fin plugin cond ssl 前言 系統復雜了,抽離單一職責的模塊幾乎是必須的;若需維護多個項目,抽離公用包上傳私有倉庫管理也幾乎是必須的。其優點無需贅述,以下將記錄操作過程。 1. 多模塊

Spring boot集成spring-boot-starter-data-jpa環境搭建

lis ESS hiberna 構建 TP xtend 默認 location col 1、創建Spring boot項目 2、保存等待構建完成 3、增加spring-boot-starter-data-jpa、內存數據庫依賴包hsqldb