Springboot Maven 多環境打包以及聚合打包(一)
說明
開發中碰到的問題1
現在採用 spring boot
開發時,spring boot
開發的配置檔案結構目錄,如下圖所示:
這樣有個好處是配置檔案可以分開,公用的配置項可以放在 application.properties
檔案裡面,再通過 spring.profiles.active
配置項來啟用 各個環境的配置項,在使用 spring cloud config
之後,可能還會多一個 bootstrap.properties
, 這個檔案無法支援多環境配置 , 所以每次在使用 maven
構建打包時,總會手動去改大量配置,這樣打包時,可能忘記修改某個配置而導致最後釋出的包出現問題。所以我們需要用到使用 maven
Maven 多環境打包
1. 修改 pom.xml
在 pom.xml
檔案中 新增 <profiles></profiles>
標籤,然後 在此標籤中加入<profile></profile>
標籤進行多環境配置。
<profiles> <!-- 測試環境 --> <profile> <id>test</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <spring.profiles.active>test</spring.profiles.active> </properties> </profile> <!-- 開發環境 --> <profile> <id>dev</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <spring.profiles.active>dev</spring.profiles.active> </properties> </profile> <!-- 生產環境 --> <profile> <id>pro</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <spring.profiles.active>pro</spring.profiles.active> </properties> </profile> </profiles>
其中 <activeByDefault></activeByDefault>
標籤為true 時表示預設配置,通過 eclipse
執行 run as
的 maven install
時,預設使用 activeByDefault
為 true
的配置。
同時需要在 pom.xml
檔案中的 <build></build>
標籤中加入:
<build> <resources> <resource><!-- 掃描替換 --> <directory>${project.basedir}/src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
用來指定打包時,去替換指定檔案下的配置,這樣 pom.xml
配置完成。
修改 properties 檔案
修改 properties
檔案就特別簡單了,將在 pom.xml
中 profile
的 properties
直接替換就行了。
[email protected]@
打包
此時如果執行 eclipse
中的 maven install
則會打包成預設的配置項。
但是通過 執行 maven build...
在 Goals
中執行 clean install -P pro
則可打包其他環境。
相關推薦
Springboot Maven 多環境打包以及聚合打包(一)
說明開發中碰到的問題1現在採用 spring boot 開發時,spring boot 開發的配置檔案結構目錄,如下圖所示: 這樣有個好處是配置檔案可以分開,公用的配置項可以放在 application.properties 檔案裡面,再通過 spring.profiles.active 配置項來啟用 各個環
SpringBoot maven多環境打包
1、maven pom.xml配置 新增profires <profiles> <!--開發環境--> <profile> <id>dev</id> <propertie
springboot maven 多環境配置 jenking構建釋出配置
在後端開發中,應用程式在不同的環境可能會有不同的配置,例如資料庫連線、日誌級別等,開發,測試,生產每個環境可能配置都不一致。 使用Spring Boot的Profile可以實現多場景下的配置切換,方便開發中進行測試和部署生產環境。 下面就大致介紹一下yml配置檔案跟properties配置檔案怎
vue打包中的問題(一)
打包後圖片和背景圖片的路徑報錯 使用vue init webpack生成的vue專案模板,在開發完打包後會出現圖片路徑和背景圖片路徑錯誤的問題,解決辦法如下。 修改config/index.js中的配置: build: { index: pa
使用Idea 打包釋出配置流程(一)
1. idea前期準備:首先需要配置jdk版本,git和maven; 2. maven倉庫地址配置: 3. git配置: 4. 從遠端Git倉庫拉取程式碼: 5. 拉取到工程程式碼後,reimport載入工程依賴包
【Tensorflow】怎樣為你的網路預加工和打包訓練資料?(一)
面對五花八門的資料集,各種各樣的資料儲存形式,剛新手入門的我們在處理這些情況的時候是否會手足無措?反正一路走來,我的經驗告訴我,deep learning的實驗階段,資料準備和處理過程往往會讓你碰一鼻子灰。明明知道如何搭建網路,還是完成不了實驗,究其原因,是資料工程經驗的不
Vue+Websocket實現多人在線王者飛機(一)
Vue requestAnimationFra 飛機大戰 WebSocket 看了Vue官方教程(貌似和自己寫的框架差別不大,聽前前端同事一直吹Vue,於是學習了一下,和自己寫的框架好像也沒強哪裏去嘛,就是要傲嬌哈哈),等有空也整理自己的框架,開源好了),想找個項目練練手(沒找到好的),就寫個
如何區分Babel中的stage-0,stage-1,stage-2以及stage-3(一)
fun too com window 內容 解決 真的 creat 加載 大家知道,將ES6代碼編譯為ES5時,我們常用到Babel這個編譯工具。大家參考一些網上的文章或者官方文檔,裏面常會建議大家在.babelrc中輸入如下代碼: { "pres
UNIX環境高階程式設計的學習(一)
UNIX環境高階程式設計第一個例子的編譯 這本書中有很多的例子,為了加深理解,習慣性自己敲一遍程式碼然後看執行結果,再去理解其中的知識點,但是在虛擬機器下如何編譯這些程式碼呢,需要以下幾步: 下載並解壓縮apue.3e檔案包 在“apue.h”中最後一行加:#inclu
SpringBoot通過Activiti6.0搭建工作流平臺(一)-安裝Cygwin元件
由於最近專案需要通過Activiti6.0搭建工作流平臺,所以我打算通過SdkMan快速搭建工作流開發環境,由於我本地是Windows7的系統,所以我首先要實現在Windows中直接執行Linux的相關命令,這裡我選擇Cygwin元件。 一、下載 首先我們需要從Cygwin下載最新的Wind
多執行緒斷點續傳(一)
一、 學習內容 1、 基本UI定義 2、 資料庫的操作 3、 Service的啟動 4、 Activity給service傳遞引數 5、 使用廣播回傳資料到Activity 6、 執行緒和Handler 7、 網路操作:檔案的寫入,網路往本地磁碟寫入 二、 網路下
亞馬遜採摘挑戰中6D姿態估計的多檢視自監督深度學習(一)
倉庫自動化近年來引起了人們的極大興趣,也許最引人注目的是亞馬遜採摘挑戰賽(APC)。實現完全自主的取放系統需要強大的視覺系統,可以可靠地識別物體及其6D姿勢。然而,由於雜亂的環境,自我遮擋,感測器噪聲和各種各樣的物體,解決方案避開了倉庫設定。在本文中,我們提出了一個視覺系統,
大資料面試題以及答案整理(一)
kafka的message包括哪些資訊 一個Kafka的Message由一個固定長度的header和一個變長的訊息體body組成 header部分由一個位元組的magic(檔案格式)和四個位元組的CRC32(用於判斷body訊息體是否正常)構成。當magic的值為
Java多執行緒之基礎篇(一)
一、併發和並行 1.1 概念 1.2 比較 1.3 程序和執行緒 二、基礎概念 2.1 執
阿里雲 linux伺服器環境搭建學習 安裝jdk(一)
由於公司用於工作開發的電腦效能不佳,平時在工作過程中沒問題,但是自己去研究一下新框架的時候,一下跑2個idea+4-5個timcat時效能就不夠用了,所以自己購買了一臺低配的阿里雲伺服器,用於自己平時的學習。 寫這個部落格也是記錄下自己從頭到尾搭建服務環境的一個過程,畢竟平時在伺服器上動來動去的
SpringBoot的IOC模組註解及簡單案例(一)
本文將會講到SpringBoot的IOC模組下的註解進行總結,主要目的是為了方便之後查詢註解和快速應用。 將會以:元件註冊,生命週期,屬性賦值,自動裝配來進行區分。示例程式碼的註解很重要 一、元件註冊 1、@Configuration:標註在類上。主要是告訴 Sprin
Java 多執行緒程式設計學習總結(一)
定義篇 程序(Process)和執行緒(Thread) 怎樣實現多工處理(Multitasking)? 多工處理是同時執行多個任務的過程。我們使用多工處理來利用 CPU。可通過兩種方式實現多工處理: · 基於程序的多工 (多重處理) · 基於執行緒的多工處理
大資料開發工程師面試題以及答案整理(一)
kafka的message包括哪些資訊 一個Kafka的Message由一個固定長度的header和一個變長的訊息體body組成 header部分由一個位元組的magic(檔案格式)和四個位元組的CRC32(用於判斷body訊息體是否正常)構成。當magic的值為1的時候,會
Android端實現多人音視訊聊天應用(一)
本文轉載於資深Android開發者“東風玖哥”的部落格。 本系列文章分享了基於Agora SDK 2.1實現多人視訊通話的實踐經驗。 轉載已經過原作者許可。原文地址 自從2016年,鼓吹“網際網路寒冬”的論調甚囂塵上,2017年亦有愈演愈烈之勢。但連麥直播、線上抓娃
iOS開發之Weex爬坑之路環境部署和Devtools Debug(一)
前言 不多說,直接開始Weex,算是記錄這段時間對新技術的學習積累。期間看了很多Vue.js和Node.js的基礎,順便捋了以下CSS的flex-box佈局等等前端的知識,太多了太雜了,還是用筆記記錄下。直接從官方介紹,開始 補充一個傳送門:和文章沒什麼關係 JS中的async和await