十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
前言

痛點(diǎn):
在java開(kāi)發(fā)的過(guò)程中,我們經(jīng)常要面對(duì)各種各樣的環(huán)境,比如開(kāi)發(fā)環(huán)境,測(cè)試環(huán)境,正式環(huán)境,而這些環(huán)境對(duì)項(xiàng)目的需求也不相同。
在此之前,我們往往需要手動(dòng)去修改相對(duì)應(yīng)的配置文件然后打成war,才能部署到相應(yīng)的環(huán)境上。
但是這樣很容易出現(xiàn)問(wèn)題,因?yàn)楹苋菀壮霈F(xiàn)少改或者漏改,造成不必要的麻煩
幻想:
要是有一種東西,能讓我們打war的時(shí)候指定一個(gè)參數(shù),就能自動(dòng)把項(xiàng)目編譯成對(duì)應(yīng)環(huán)境的war,那該有多幸福?。。。?/p>
結(jié)果:這樣的東西還真有,那就是maven-profile
在開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)根據(jù)不同的環(huán)境配置不同的參數(shù),如數(shù)據(jù)源的ip,username,password、url、秘鑰等都會(huì)不同,傳統(tǒng)方式是在一個(gè)配置文件中通過(guò)修改properties文件中的參數(shù)值或者通過(guò)注釋解注釋來(lái)達(dá)到目的,這樣不僅容易出錯(cuò),還浪費(fèi)不必要的時(shí)間,更重要的是把代碼發(fā)布到測(cè)試環(huán)境或者生產(chǎn)環(huán)境還容易忘記改。為解決這種問(wèn)題,maven提供了一種解決方案,就是profile。
下圖為傳統(tǒng)方式,需要來(lái)回的注釋和解注釋
profile定義的位置
filter方式實(shí)現(xiàn)
第一步:分別定義application-dev.properties、application-test.properties、application-pro.properties三個(gè)文件
application-dev.properties
env.jdbc.username=dev env.jdbc.password=123456