SpringBoot(Jar包)指定配置文件啟動

微服務(wù)時代抗俄,每個項目有多個微服務(wù)組成炉抒,每個微服務(wù)又會有多個配置環(huán)境奢讨,本地開發(fā)環(huán)境,測試環(huán)境焰薄,線上環(huán)境等等拿诸。每次啟動要指定配置文件啟動。
這里說一下啟動項目或Jar包時指定配置文件塞茅。

1. 在ide中

我習(xí)慣用的是Eclipse亩码,多個環(huán)境配置文件是這樣的


多環(huán)境配置

1.1 指定配置環(huán)境

如果沒有用到像nacos這樣的配置中心,那我們直接指定配置環(huán)境就行(指定配置文件也可以)野瘦,如下圖

指定配置環(huán)境1

指定配置環(huán)境2

注意:Profile那里只需要填環(huán)境名稱描沟,不是配置文件名稱,如圖就會去加載application-ali這個配置文件鞭光。
同時注意:如果指定了配置環(huán)境吏廉,那配置文件中不能含有spring.profiles.activespring.profiles.include配置惰许,否則報錯席覆。
要想使用這個,可以使用下面的指定配置文件的方法啡省,或者添加bootstrap.yml文件娜睛,在bootstrap.yml中配置nacos地址,使用spring.profiles.active

1.2 指定配置文件

如果用到了微服務(wù)的配置中心卦睹,這樣配置很可能啟動不起來的畦戒,需要在配置環(huán)境的Arguments標(biāo)簽頁中配置,如圖:

指定配置文件

配置內(nèi)容:

-Dfile.encoding=utf-8 
-Dspring.config.location=classpath:/application-test.yml

其中结序,第一條是配置編碼為utf-8的障斋,這樣讀取配置文件不會出錯亂碼;
第二條是指定配置文件位置徐鹤,classpath是指定在src/main/resource目錄下的

2. Jar包啟動

在服務(wù)器上垃环,我通常用的,Jar包啟動命令時這樣的

1. 指定配置環(huán)境

nohup java -jar -Dfile.encoding=utf-8 -Dspring.profiles.active=dev test.jar >/tmp/null 2>&1 &

這樣啟動時會去加載Jar包中Resource目錄下application-dev.yml文件返敬。需要注意的同在IDE中一樣遂庄。

2. 指定配置文件

nohup java -jar -Dfile.encoding=utf-8 -Dspring.config.location=classpath:/application-dev.yml test.jar >/dev/null 2>&1 &

若配置文件在Jar包外面,-Dspring.config.location=后面不用classpath劲赠,直接使用配置文件的相對或絕對路徑就行:-Dspring.config.location=app-dev.yml涛目。

3. 命令分析

啟動命令中,有幾部分解釋一下:

  • nohup
  • >/dev/null
  • 2>&1
  • &
3.1 nohup&凛澎。

這2個都是要后臺啟動的命令霹肝,在xshell等ssh工具中,
若命令中只有nohup這一個:

  1. 使用Ctrl + C快捷鍵塑煎,程序會關(guān)閉
  2. 關(guān)閉session即斷開xshell連接沫换,程序不會關(guān)閉

若命令中只有&這一個:

  1. 使用Ctrl + C快捷鍵,程序不會關(guān)閉
  2. 關(guān)閉session即斷開xshell連接最铁,程序會關(guān)閉

所以讯赏,經(jīng)常nohup&配合使用來啟動程序nohup ./test &

3.2 >/dev/null

這個是設(shè)置輸出文件的。也可以是>>/dev/null

  • 其中>或者>>表示輸出重定向的意思炭晒。>會覆蓋目標(biāo)的原有內(nèi)容待逞,當(dāng)文件存在時,會先清空网严,然后把內(nèi)容寫入該文件识樱,否則直接創(chuàng)建文件。>>是將輸出內(nèi)容追加到目標(biāo)文件中震束。如果文件不存在怜庸,就創(chuàng)建文件,如果文件存在垢村,則將新的內(nèi)容追加到那個文件的末尾割疾,該文件中的原有內(nèi)容不受影響。
  • 這里使用/dev/null是因為在項目xml文件中配置了日志嘉栓,所以不想使用linux中輸出的日志宏榕,就指向了null文件拓诸,這樣就不會生成linux帶的日志了,只用我們在配置中指定的那個麻昼。若想要這個日志奠支,指定位置和文件名就行:>/logs/nohup-test.out
  • 需要注意抚芦,文件不存在時倍谜,使用>>>是一樣的,會新建文件叉抡。
3.3 2>&1

首先要知道尔崔,bash中0,1褥民,2三個數(shù)字分別代表STDIN_FILENO季春、STDOUT_FILENOSTDERR_FILENO消返,即標(biāo)準(zhǔn)輸入(一般是鍵盤)鹤盒,標(biāo)準(zhǔn)輸出(一般是顯示屏,準(zhǔn)確的說是用戶終端控制臺)侦副,標(biāo)準(zhǔn)錯誤(出錯信息輸出)侦锯。

  • 2>&1 也就表示將錯誤重定向到標(biāo)準(zhǔn)輸出上,即在日志中能看到錯誤信息秦驯。&表示整個過程在后臺進(jìn)行尺碰。

4. shell腳本停止命令

這是從阿里的nacos停止腳本拷出來的,直接用

#!/bin/bash

pid=`ps ax | grep -i 'test-server.jar' | grep java | grep -v grep | awk '{print $1}'`
if [ -z "$pid" ] ; then
        echo "No Test-Server running."
        exit -1;
fi

echo "The Test-Server(${pid}) is running..."

kill ${pid}

echo "Send shutdown request to Test-Server(${pid}) OK"

總結(jié)

  1. 指定配置環(huán)境有各種限制和條件译隘,所以建議直接使用指定配置文件的方式
  2. 弄明白shell腳本中各個命令的意思亲桥,可以靈活配置日志文件和后臺啟動以及指定配置文件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市固耘,隨后出現(xiàn)的幾起案子题篷,更是在濱河造成了極大的恐慌,老刑警劉巖厅目,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件番枚,死亡現(xiàn)場離奇詭異,居然都是意外死亡损敷,警方通過查閱死者的電腦和手機(jī)葫笼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拗馒,“玉大人路星,你說我怎么就攤上這事∮展穑” “怎么了洋丐?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵呈昔,是天一觀的道長。 經(jīng)常有香客問我友绝,道長韩肝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任九榔,我火速辦了婚禮,結(jié)果婚禮上涡相,老公的妹妹穿的比我還像新娘哲泊。我一直安慰自己,他們只是感情好催蝗,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布切威。 她就那樣靜靜地躺著,像睡著了一般丙号。 火紅的嫁衣襯著肌膚如雪先朦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天犬缨,我揣著相機(jī)與錄音喳魏,去河邊找鬼。 笑死怀薛,一個胖子當(dāng)著我的面吹牛刺彩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枝恋,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼创倔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了焚碌?” 一聲冷哼從身側(cè)響起畦攘,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎十电,沒想到半個月后知押,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡鹃骂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年朗徊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片偎漫。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡爷恳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出象踊,到底是詐尸還是另有隱情温亲,我是刑警寧澤棚壁,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站栈虚,受9級特大地震影響袖外,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜魂务,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一曼验、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧粘姜,春花似錦鬓照、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至号显,卻和暖如春臭猜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背押蚤。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工蔑歌, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人揽碘。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓丐膝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钾菊。 傳聞我的和親對象是個殘疾皇子帅矗,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容