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

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

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

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

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

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

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

步驟1

父工程配置多個(gè)環(huán)境,并指定默認(rè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è)定是否為默認(rèn)啟動(dòng)環(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>
    <!--測(cè)試環(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

切換默認(rèn)環(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è)定是否為默認(rèn)啟動(dòng)環(huán)境-->
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <!--測(cè)試環(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)境的切換,但是每次切換都是需要手動(dòng)修改,如何來實(shí)現(xiàn)在不改變代碼的前提下完成環(huán)境的切換呢?

步驟5

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

步驟6

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

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

總結(jié)

總結(jié)來說,對(duì)于多環(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)境定義中獲取]

跳過測(cè)試

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

對(duì)于test來說有它存在的意義,

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

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

IDEA工具實(shí)現(xiàn)跳過測(cè)試

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

Toggle翻譯為切換的意思,也就是說在測(cè)試與不測(cè)試之間進(jìn)行切換。

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

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

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

配置插件實(shí)現(xiàn)跳過測(cè)試

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

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

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

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

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

命令行跳過測(cè)試

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

注意事項(xiàng):

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

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

相關(guān)文章

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

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

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

    Java Document生成和解析XML操作

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

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

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

    Java面試必備之AQS阻塞隊(duì)列和條件隊(duì)列

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

    Java正則驗(yàn)證電話,手機(jī),郵箱,日期,金額的方法示例

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

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

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

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

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

    Java 如何解決跨域問題

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

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

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

    詳解JavaSE實(shí)現(xiàn)IoC

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

最新評(píng)論