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

Maven分步詳解多環(huán)境配置與應(yīng)用流程

 更新時間:2022年08月19日 09:24:07   作者:十八歲討厭編程  
這篇文章主要介紹了Maven進階多環(huán)境配置與應(yīng)用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

多環(huán)境開發(fā)

我們平常都是在自己的開發(fā)環(huán)境進行開發(fā),當(dāng)開發(fā)完成后,需要把開發(fā)的功能部署到測試環(huán)境供測試人員進行測試使用,等測試人員測試通過后,我們會將項目部署到生成環(huán)境上線使用。

這個時候就有一個問題是,不同環(huán)境的配置是不相同的,如不可能讓三個環(huán)境都用一個數(shù)據(jù)庫,所以就會有三個數(shù)據(jù)庫的url配置,我們在項目中如何配置?要想實現(xiàn)不同環(huán)境之間的配置切換又該如何來實現(xiàn)呢?

maven提供配置多種環(huán)境的設(shè)定,幫助開發(fā)者在使用過程中快速切換環(huán)境。具體實現(xiàn)步驟:

步驟1

父工程配置多個環(huán)境,并指定默認激活環(huán)境

<profiles>
    <!--開發(fā)環(huán)境-->
    <profile>
        <id>env_dep</id>
        <properties>
            <jdbc.url>jdbc:mysql://127.1.1.1:3306/ssm_db</jdbc.url>
        </properties>
        <!--設(shè)定是否為默認啟動環(huán)境-->
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <!--生產(chǎn)環(huán)境-->
    <profile>
        <id>env_pro</id>
        <properties>
            <jdbc.url>jdbc:mysql://127.2.2.2:3306/ssm_db</jdbc.url>
        </properties>
    </profile>
    <!--測試環(huán)境-->
    <profile>
        <id>env_test</id>
        <properties>
            <jdbc.url>jdbc:mysql://127.3.3.3:3306/ssm_db</jdbc.url>
        </properties>
    </profile>
</profiles>

步驟2

執(zhí)行安裝查看env_dep環(huán)境是否生效

查看到的結(jié)果為:

步驟3

切換默認環(huán)境為生產(chǎn)環(huán)境

<profiles>
    <!--開發(fā)環(huán)境-->
    <profile>
        <id>env_dep</id>
        <properties>
            <jdbc.url>jdbc:mysql://127.1.1.1:3306/ssm_db</jdbc.url>
        </properties>
    </profile>
    <!--生產(chǎn)環(huán)境-->
    <profile>
        <id>env_pro</id>
        <properties>
            <jdbc.url>jdbc:mysql://127.2.2.2:3306/ssm_db</jdbc.url>
        </properties>
        <!--設(shè)定是否為默認啟動環(huán)境-->
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <!--測試環(huán)境-->
    <profile>
        <id>env_test</id>
        <properties>
            <jdbc.url>jdbc:mysql://127.3.3.3:3306/ssm_db</jdbc.url>
        </properties>
    </profile>
</profiles>

步驟4

執(zhí)行安裝并查看env_pro環(huán)境是否生效

查看到的結(jié)果為jdbc:mysql://127.2.2.2:3306/ssm_db

雖然已經(jīng)能夠?qū)崿F(xiàn)不同環(huán)境的切換,但是每次切換都是需要手動修改,如何來實現(xiàn)在不改變代碼的前提下完成環(huán)境的切換呢?

步驟5

命令行實現(xiàn)環(huán)境切換

步驟6

執(zhí)行安裝并查看env_test環(huán)境是否生效

查看到的結(jié)果為jdbc:mysql://127.3.3.3:3306/ssm_db

總結(jié)

總結(jié)來說,對于多環(huán)境切換只需要兩步即可:

父工程中定義多環(huán)境

<profiles>
	<profile>
    	<id>環(huán)境名稱</id>
        <properties>
        	<key>value</key>
        </properties>
        <activation>
        	<activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    ...
</profiles>

使用多環(huán)境(構(gòu)建過程)

mvn 指令 -P 環(huán)境定義ID[環(huán)境定義中獲取]

跳過測試

前面在執(zhí)行install指令的時候,Maven都會按照順序從上往下依次執(zhí)行,每次都會執(zhí)行test,

對于test來說有它存在的意義,

  • 可以確保每次打包或者安裝的時候,程序的正確性,假如測試已經(jīng)通過在我們沒有修改程序的前提下再次執(zhí)行打包或安裝命令,由于順序執(zhí)行,測試會被再次執(zhí)行,就有點耗費時間了。
  • 功能開發(fā)過程中有部分模塊還沒有開發(fā)完畢,測試無法通過,但是想要把其中某一部分進行快速打包,此時由于測試環(huán)境失敗就會導(dǎo)致打包失敗。

遇到上面這些情況的時候,我們就想跳過測試執(zhí)行下面的構(gòu)建命令,具體實現(xiàn)方式有很多:

IDEA工具實現(xiàn)跳過測試

圖中的按鈕為Toggle 'Skip Tests' Mode,

Toggle翻譯為切換的意思,也就是說在測試與不測試之間進行切換。

點擊一下,出現(xiàn)測試畫橫線的圖片,如下:

說明測試已經(jīng)被關(guān)閉,再次點擊就會恢復(fù)。

這種方式最簡單,但是有點"暴力",會把所有的測試都跳過,如果我們想更精細的控制哪些跳過哪些不跳過,就需要使用配置插件的方式。

配置插件實現(xiàn)跳過測試

在父工程中的pom.xml中添加測試插件配置

<build>
    <plugins>
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.12.4</version>
            <configuration>
                <skipTests>false</skipTests>
                <!--排除掉不參與測試的內(nèi)容-->
                <excludes>
                    <exclude>**/BookServiceTest.java</exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>

skipTests:如果為true,則跳過所有測試,如果為false,則不跳過測試

excludes:哪些測試類不參與測試,即排除,針對skipTests為false來設(shè)置的

includes: 哪些測試類要參與測試,即包含,針對skipTests為true來設(shè)置的

命令行跳過測試

使用Maven的命令行,mvn 指令 -D skipTests

注意事項:

  • 執(zhí)行的項目構(gòu)建指令必須包含測試生命周期,否則無效果。例如執(zhí)行compile生命周期,不經(jīng)過test生命周期。
  • 該命令可以不借助IDEA,直接使用cmd命令行進行跳過測試,需要注意的是cmd要在pom.xml所在目錄下進行執(zhí)行。

到此這篇關(guān)于Maven分步詳解多環(huán)境配置與應(yīng)用流程的文章就介紹到這了,更多相關(guān)Maven多環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java時間輪算法的實現(xiàn)代碼示例

    Java時間輪算法的實現(xiàn)代碼示例

    本篇文章主要介紹了Java時間輪算法的實現(xiàn)代碼示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java Document生成和解析XML操作

    Java Document生成和解析XML操作

    這篇文章主要介紹了Java Document生成和解析XML操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java 通過mave命令下載jar包的示例代碼

    Java 通過mave命令下載jar包的示例代碼

    這篇文章主要介紹了Java 通過mave命令下載jar的示例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Java面試必備之AQS阻塞隊列和條件隊列

    Java面試必備之AQS阻塞隊列和條件隊列

    我們大概知道AQS就是一個框架,把很多功能都給實現(xiàn)了(比如入隊規(guī)則,喚醒節(jié)點中的線程等),我們?nèi)绻褂玫脑捴恍枰獙崿F(xiàn)其中的一些方法(比如tryAcquire等)就行了!這次主要說說AQS中阻塞隊列的的入隊規(guī)則還有條件變量,需要的朋友可以參考下
    2021-06-06
  • Java正則驗證電話,手機,郵箱,日期,金額的方法示例

    Java正則驗證電話,手機,郵箱,日期,金額的方法示例

    這篇文章主要介紹了Java正則驗證電話,手機,郵箱,日期,金額的方法,結(jié)合具體實例形式分析了Java針對電話,手機,郵箱,日期,金額的正則判定操作技巧,需要的朋友可以參考下
    2017-03-03
  • Spring @Value的注解使用和原理解析

    Spring @Value的注解使用和原理解析

    @Value注解在Spring開發(fā)中是一個使用很頻繁的注解,在項目開發(fā)中,我們通常需要讀取配置文件中的一些信息,當(dāng)然,@Value不單單能讀取配置文件,還能讀取系統(tǒng)屬性,還可以讀取其他bean的屬性,本章就來詳細介紹@Value注解的使用和對源碼進行分析
    2023-06-06
  • Java System.exit()退出程序方式

    Java System.exit()退出程序方式

    這篇文章主要介紹了Java System.exit()退出程序方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Java 如何解決跨域問題

    Java 如何解決跨域問題

    這篇文章主要介紹了Java 如何解決跨域問題,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • Spring數(shù)據(jù)庫連接池實現(xiàn)原理深入刨析

    Spring數(shù)據(jù)庫連接池實現(xiàn)原理深入刨析

    開發(fā)web項目,我們肯定會和數(shù)據(jù)庫打交道,因此就會涉及到數(shù)據(jù)庫鏈接的問題。在以前我們開發(fā)傳統(tǒng)的SSM結(jié)構(gòu)的項目時進行數(shù)據(jù)庫鏈接都是通過JDBC進行數(shù)據(jù)鏈接,我們每和數(shù)據(jù)庫打一次交道都需要先獲取一次鏈接,操作完后再關(guān)閉鏈接,這樣子效率很低,因此就出現(xiàn)了連接池
    2022-11-11
  • 詳解JavaSE實現(xiàn)IoC

    詳解JavaSE實現(xiàn)IoC

    簡單地說,IoC 是反轉(zhuǎn)控制,類似于好萊塢原則,主要有依賴查找和依賴注入實現(xiàn)。依賴查找是主動或手動的依賴查找方式,通常需要依賴容器或標(biāo)準(zhǔn)API實現(xiàn)。 而依賴注入則是手動或自動依賴綁定的方式,無需依賴特定的容器和API。本文將詳細介紹JavaSE實現(xiàn)IoC。
    2021-06-06

最新評論