欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IDEA POM文件配置profile實(shí)現(xiàn)不同環(huán)境切換的方法步驟

 更新時(shí)間:2024年03月04日 11:01:20   作者:赫蘿的紅蘋(píng)果  
這篇文章主要介紹了IDEA POM文件配置profile實(shí)現(xiàn)不同環(huán)境切換的方法步驟

一、背景

在企業(yè)級(jí)開(kāi)發(fā)中,為了不影響生產(chǎn)環(huán)境的項(xiàng)目運(yùn)行,一般情況下都會(huì)劃分生產(chǎn)環(huán)境、測(cè)試環(huán)境、開(kāi)發(fā)環(huán)境。不同環(huán)境可以配置不同的數(shù)據(jù)庫(kù)、redis連接,這樣在開(kāi)發(fā)新功能的時(shí)候就不會(huì)影響線上環(huán)境。

二、實(shí)現(xiàn)

2.1創(chuàng)建不同的配置文件

application.yml

spring:
  profiles:
    active: '@profiles.active@'

application-dev.yml

# 應(yīng)用服務(wù) WEB 訪問(wèn)端口
server:
  port: 8081

#數(shù)據(jù)庫(kù)連接
spring:
  datasource:
    #配置自己的賬戶(hù)密碼
    username: xxx
    password: xxx
    url: jdbc:mysql://127.0.0.1:3306/my_app
    driver-class-name: com.mysql.cj.jdbc.Driver

 application-test.yml

# 應(yīng)用服務(wù) WEB 訪問(wèn)端口
server:
  port: 8081

#數(shù)據(jù)庫(kù)連接
spring:
  datasource:
    #配置自己的賬戶(hù)密碼
    username: xxx
    password: xxx
    url: jdbc:mysql://127.0.0.1:3306/my_app
    driver-class-name: com.mysql.cj.jdbc.Driver

 application-prod.yml

# 應(yīng)用服務(wù) WEB 訪問(wèn)端口
server:
  port: 8081

#數(shù)據(jù)庫(kù)連接
spring:
  datasource:
    #配置自己的賬戶(hù)密碼
    username: xxx
    password: xxx
    url: jdbc:mysql://127.0.0.1:3306/my_app
    driver-class-name: com.mysql.cj.jdbc.Driver

dev,test,prod可以分別配置不同的地址,以實(shí)現(xiàn)連接不同的數(shù)據(jù)庫(kù)。

2.2配置POM文件

<project>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!--①移除全部配置文件-->
                <excludes>
                    <exclude>application*.yml</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <!--②將所需的配置文件移入-->
                <filtering>true</filtering>
                <includes>
                    <include>application.yml</include>
                    <include>application-${profiles.active}.yml</include>
                </includes>
            </resource>
        </resources>
    </build>

    <!-- 環(huán)境 -->
    <profiles>
        <profile>
            <!--不同環(huán)境Profile的唯一id-->
            <id>dev</id>
            <properties>
                <!--profiles.active是自定義的字段(名字隨便起),自定義字段可以有多個(gè)-->
                <profiles.active>dev</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profiles.active>prod</profiles.active>
            </properties>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
        </profile>
    </profiles>


</project>

配置文件里面有一小塊移除配置文件的代碼

如果將該代碼注掉,那么在打包項(xiàng)目的時(shí)候就會(huì)把全部配置文件都打包進(jìn)去,這樣拿到j(luò)ar包之后就可以在啟動(dòng)項(xiàng)目的時(shí)候通過(guò)傳入不同的參數(shù)來(lái)使用不同的配置文件啟動(dòng)項(xiàng)目,有點(diǎn)不安全。

如果不注掉的話,就會(huì)把全部配置文件都移除,在下方把指定的要打包的配置文件引入,這樣獲得的jar包就只能啟動(dòng)打包時(shí)候指定的配置文件,嘗試使用其他配置文件會(huì)獲取不到而報(bào)錯(cuò)。(建議)

三、效果

3.1本地使用

先在項(xiàng)目右上角的Profiles選中想要啟動(dòng)的環(huán)境,然后啟動(dòng)項(xiàng)目,端口和設(shè)置的配置文件匹配。

換個(gè)配置文件試試,端口和配置的文件也匹配,也是沒(méi)問(wèn)題。

PS:一般情況下,切換環(huán)境最好點(diǎn)一下下方的clean,先清一下緩存配置??赡苁乾F(xiàn)在配置少,現(xiàn)在本地不clean也沒(méi)問(wèn)題,但在企業(yè)開(kāi)發(fā)中如果不clean一下,啟動(dòng)項(xiàng)目大概率是會(huì)報(bào)錯(cuò)的。

 2.2線上或者測(cè)試環(huán)境使用

線上或者測(cè)試環(huán)境一般都用jekins來(lái)自動(dòng)化打包運(yùn)行項(xiàng)目,也就是通過(guò)腳本去自動(dòng)運(yùn)行項(xiàng)目。

我們可以在項(xiàng)目目錄,通過(guò)命令行去打包項(xiàng)目mvn package -P 環(huán)境

mvn package -P prod   

 打包完成之后會(huì)在項(xiàng)目目錄下面生產(chǎn)一個(gè)target文件夾,里面有一個(gè)jar文件,這個(gè)文件就是打包的項(xiàng)目文件。(如果項(xiàng)目設(shè)置的打包是war的話,也可能是war文件。)

我們?nèi)サ絡(luò)ar文件所在目錄,通過(guò)命令行運(yùn)行jar文件

啟動(dòng)了8082端口,也正是prod文件配置的端口,驗(yàn)證完畢。

因?yàn)槲仪懊媸情_(kāi)啟了配置文件過(guò)濾的,驗(yàn)證一下用其他配置文件啟動(dòng)該jar包。(找不到配置文件而報(bào)錯(cuò),安全性得到了保障)

到此這篇關(guān)于IDEA POM文件配置profile實(shí)現(xiàn)不同環(huán)境切換的方法步驟的文章就介紹到這了,更多相關(guān)IDEA POM文件配置profile實(shí)現(xiàn)不同環(huán)境切換的方法步驟內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mockito 結(jié)合 Springboot 進(jìn)行應(yīng)用測(cè)試的方法詳解

    Mockito 結(jié)合 Springboot 進(jìn)行應(yīng)用測(cè)試的方法詳解

    這篇文章主要介紹了Mockito 結(jié)合 Springboot 進(jìn)行應(yīng)用測(cè)試的方法詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • java優(yōu)先隊(duì)列PriorityQueue中Comparator的用法詳解

    java優(yōu)先隊(duì)列PriorityQueue中Comparator的用法詳解

    這篇文章主要介紹了java優(yōu)先隊(duì)列PriorityQueue中Comparator的用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Java?Optional用法面試題精講

    Java?Optional用法面試題精講

    這篇文章主要為大家介紹了Java?Optional用法面試題精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 學(xué)習(xí)java編程后可以走哪些職業(yè)道路

    學(xué)習(xí)java編程后可以走哪些職業(yè)道路

    在本篇文章里給大家介紹了關(guān)于學(xué)習(xí)java后的職業(yè)道路,以及需要學(xué)習(xí)的相關(guān)知識(shí)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。
    2022-11-11
  • SpringMVC和Spring的配置文件掃描包詳解

    SpringMVC和Spring的配置文件掃描包詳解

    這篇文章主要介紹了SpringMVC和Spring的配置文件掃描包,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-05-05
  • Java RandomAccessFile基本文件操作示例

    Java RandomAccessFile基本文件操作示例

    這篇文章主要介紹了Java RandomAccessFile基本文件操作,結(jié)合實(shí)例形式分析了Java基于RandomAccessFile實(shí)現(xiàn)文件讀寫(xiě)及文件隨機(jī)訪問(wèn)相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • ThreadLocal導(dǎo)致JVM內(nèi)存泄漏原因探究

    ThreadLocal導(dǎo)致JVM內(nèi)存泄漏原因探究

    ThreadLocal是JDK提供的線程本地變量機(jī)制,但若使用不當(dāng)可能導(dǎo)致內(nèi)存泄漏。正確的使用方式是在使用完后及時(shí)remove,或者使用弱引用等手段避免強(qiáng)引用導(dǎo)致的內(nèi)存泄漏。在多線程編程中,合理使用ThreadLocal可以提高并發(fā)性能,但也需要注意其潛在的內(nèi)存泄漏問(wèn)題
    2023-04-04
  • Spring中的事務(wù)隔離級(jí)別和傳播行為

    Spring中的事務(wù)隔離級(jí)別和傳播行為

    這篇文章主要介紹了Spring中的事務(wù)隔離級(jí)別和傳播行為,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Linux中使用shell腳本管理Java應(yīng)用程序

    Linux中使用shell腳本管理Java應(yīng)用程序

    在日常開(kāi)發(fā)和運(yùn)維工作中,管理基于Java的應(yīng)用程序是一項(xiàng)基礎(chǔ)且頻繁的任務(wù),本文將通過(guò)一個(gè)示例腳本,展示如何利用Shell腳本簡(jiǎn)化這一流程,實(shí)現(xiàn)Java應(yīng)用的一鍵式啟動(dòng)、停止與重啟操作,本腳本不僅提升了工作效率,還確保了操作的標(biāo)準(zhǔn)化與可靠性
    2024-06-06
  • AsyncConfigurerSupport自定義異步線程池處理異常

    AsyncConfigurerSupport自定義異步線程池處理異常

    這篇文章主要為大家介紹了AsyncConfigurerSupport自定義異步線程池處理異常詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06

最新評(píng)論