最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Maven profile配置管理及激活profile的幾種方式

 更新時(shí)間:2021年01月25日 11:46:46   投稿:zx  
這篇文章主要介紹了詳解Maven profile配置管理及激活profile的幾種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

為了實(shí)現(xiàn)不同環(huán)境構(gòu)建的不同需求,這里使用到了 profile。因?yàn)?profile 能夠在構(gòu)建時(shí)修改 pom 的一個(gè)子集,或者添加額外的配置元素。接下來介紹 Maven 中對 profile 的配置和激活。

針對不同環(huán)境的 profile 的配置

為了體現(xiàn)不同環(huán)境的不同構(gòu)建,需要配置好不同環(huán)境的 profile,代碼如下:

<profiles>
  <profile>
    <id>dev_evn</id>
    <properties>
      <db.driver>com.mysql.jdbc.Driver</db.driver>
      <db.url>jdbc:mysql://localhost:3306/test</db.url>
      <db.username>root</db.username>
      <db.password>root</db.password>
    </properties>
  </profile>
  <profile>
    <id>test_evn</id>
    <properties>
      <db.driver>com.mysql.jdbc.Driver</db.driver>
      <db.url>jdbc:mysql://localhost:3306/test_db</db.url>
      <db.username>root</db.username>
      <db.password>root</db.password>
    </properties>
  </profile>
</profiles>

在兩個(gè)不同的 profile 中,配置了同樣的屬性,不一樣的值。按照前面的介紹,在開發(fā)時(shí)可以用 mvn 命令后面添加“-Pdev_evn”激活“dev_evn profile”。

激活 profile 配置

在 Maven 中,可以選用如下的方式激活 profile。
1. 命令行激活

用戶可以在 mvn 命令行中添加參數(shù)“-P”,指定要激活的 profile 的 id。如果一次要激活多個(gè) profile,可以用逗號分開一起激活。例如:

mvn clean install -Pdev_env,test_evn

這個(gè)命令就同時(shí)激活了 id 為“dev_evn”和“test_evn”的兩個(gè) profile。

2. Settings 文件顯示激活

如果希望某個(gè) profile 默認(rèn)一直處于激活狀態(tài),可以在 settings.xml 中配置 activeProfiles 元素,指定某個(gè) profile 為默認(rèn)激活狀態(tài),樣例配置代碼如下:

<settings>
  ...
  <activeProfiles>
    <activeProfile>dev_evn</activeProfile>
  </activeProfiles>
  ...
</settings>

3. 系統(tǒng)屬性激活

可以配置當(dāng)某個(gè)系統(tǒng)屬性存在時(shí)激活 profile,代碼如下:

<profiles>
  <profile>
    ...
    <activation>
      <property>
        <name>profileProperty</name>
      </property>
    </activation>
  </profile>
</profiles>

甚至還可以進(jìn)一步配置某個(gè)屬性的值是什么時(shí)候激活,例如:

<profiles>
  <profile>
    ...
    <activation>
      <property>
        <name>profileProperty</name>
        <value>dev</value>
      </property>
    </activation>
  </profile>
</profiles>

這樣就可以在 mvn 中用“-D”參數(shù)來指定激活,例如:
Mvn clean install -DprofileProperty=dev

表示激活屬性名稱為 profileProperty,值為 dev 的 profile。

實(shí)際上這也是一種命令激活 profile 的方法,只是用的是“-D”參數(shù)指定激活的屬性和值,而前面的是用的“-P”參數(shù)指定激活的 profile 的 id 而已。

4. 操作系統(tǒng)環(huán)境激活

用戶可以通過配置指定不同操作系統(tǒng)的信息,實(shí)現(xiàn)不同操作系統(tǒng)做不同的構(gòu)建。例如:

<profiles>
  <profile>
    <activation>
      <os>
        <name>Window XP</name>
        <family>Windows</family>
        <arch>x86</arch>
        <version>5.1.2600</version>
      </os>
    </activation>
  </profile>
</profiles>

family 的值是 Windows、UNIX 或 Mac。name 為操作系統(tǒng)名稱。arch為操作系統(tǒng)的架構(gòu)。version為操作系統(tǒng)的版本。具體的值可以通過查看環(huán)境中的系統(tǒng)屬性“os.name”“os.arch”和“os.version”獲取。

5. 文件存在與否激活

當(dāng)然,也可以通過配置判斷某個(gè)文件存在與否來決定是否激活 profile,樣例配置代碼如下:

<profiles>
  <profile>
    <activation>
      <file>
        <missing>t1.properties</missing>
        <exists>t2.properties</exists>
      </file>
    </activation>
  </profile>
</profiles>

6. 默認(rèn)激活

最后,還可以配置一個(gè)默認(rèn)的激活 profile,例如:

<profiles>
  <profile>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
  </profile>
</profiles>

需要注意的是,如果 pom 中有任何一個(gè) profile 通過其他方式被激活的話,所有配置成默認(rèn)激活的 profile 都會自動失效。 可以使用如下命令查看當(dāng)前激活的 profile。

Mvn help:active-profiles

也可以使用如下命令查看所有的 profile。

Mvn help:all-profiles

profile 的種類

前面介紹了 profile 的意義和激活方式。那么在 Maven 中,有哪些 profile?如何配置呢?

根據(jù) profile 配置的位置不同,可以將 profile 分成如下幾種。
1)pom.xml
pom.xml 中聲明的 profile 只對當(dāng)前項(xiàng)目有效。
2)用戶 settings.xml
在用戶目錄下的“.m2/settings.xml”中的 profile,對本機(jī)上的該用戶的所有 Maven 項(xiàng)目有效。
3)全局 settings.xml
在 Maven 安裝目錄下 conf/settings.xml 中配置的 profile,對本機(jī)上所有項(xiàng)目都有效。

為了不影響其他用戶且方便升級 Maven,一般配置自己的 settings.xml,不要輕易修改全局的 settings.xml。同樣的道理,一般不需要修改全局 settings.xml 中的 profile。

不同類型的 profile 中可以聲明的 pom 元素是不一樣的,pom.xml 中的 profile 能夠隨同 pom.xml 一起提交到代碼倉庫中,被 Maven 安裝到本地倉庫里面,并且能被部署到遠(yuǎn)程 Maven 倉庫中。也就是說,可以保證 profile 伴隨特定的 pom.xml 一起存在。所以它可以修改或者添加很多 pom 元素,例如:

<project>
  <repositories></repositories>
  <pluginRepositories></pluginRepositories>
  <dependencies></dependencies>
  <dependencyManagement></dependencyManagement>
  <modules></modules>
  <properties></properties>
  <reporting></reporting>
  <build>
    <plugins></plugins>
    <defaultGoal></defaultGoal>
    <resources></resources>
    <testResources></testResources>
    <finalName></finalName>
  </build>
</project>

如上代碼所示,在 pom 中的 profile 元素比較多,可以添加或修改插件配置、項(xiàng)目資源目錄、測試資源目錄配置和項(xiàng)目構(gòu)建的默認(rèn)名稱等。

除了 pom 中的 profile 外,其他外部的 profile 可以配置的元素相對就少些,因?yàn)槟切┩獠?profile 無法保證同項(xiàng)目中的 pom.xml 一起發(fā)布。

如果在外部 profile 中配置了項(xiàng)目依賴,開發(fā)用戶可以在本地編譯,但是因?yàn)橐蕾嚺渲脹]有隨同 pom.xml 一起發(fā)布部署到倉庫中,別的用戶下載了該項(xiàng)目后,就會因?yàn)槿鄙僖蕾嚩 ?/p>

為了避免這樣的不一致情況,很多在 pom 的 profile 可以出現(xiàn)的元素不允許在外部 profile 中出現(xiàn)。

在外部 profile 可以聲明的元素如下:

<project>
  <repositories></repositories>
  <pluginRepositories></pluginRepositories>
  <properties></properties>
</project>

這些外部 profile 元素不足以影響項(xiàng)目的正常構(gòu)建,只會影響項(xiàng)目的倉庫和 Maven 屬性。

到此這篇關(guān)于詳解Maven profile配置管理及激活profile的幾種方式的文章就介紹到這了,更多相關(guān)Maven profile配置及激活profile內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java實(shí)現(xiàn)彈球小游戲

    java實(shí)現(xiàn)彈球小游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)彈球小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • springboot如何使用AOP做訪問請求日志

    springboot如何使用AOP做訪問請求日志

    這篇文章主要介紹了springboot如何使用AOP做訪問請求日志,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java實(shí)現(xiàn)導(dǎo)出pdf格式文件的示例代碼

    Java實(shí)現(xiàn)導(dǎo)出pdf格式文件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)導(dǎo)出pdf格式文件的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • 爬蟲技術(shù)詳解

    爬蟲技術(shù)詳解

    本文全面的介紹了爬蟲的原理、技術(shù)現(xiàn)狀、以及目前仍面臨的問題。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-03-03
  • Java調(diào)用基于Ollama本地大模型的實(shí)現(xiàn)

    Java調(diào)用基于Ollama本地大模型的實(shí)現(xiàn)

    本文主要介紹了Java調(diào)用基于Ollama本地大模型的實(shí)現(xiàn),實(shí)現(xiàn)文本生成、問答、文本分類等功能,開發(fā)者可以輕松配置和調(diào)用模型,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • 淺談IDEA中Maven配置問題全解決

    淺談IDEA中Maven配置問題全解決

    這篇文章主要介紹了淺談IDEA中Maven配置問題全解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • MybatisPlus lambdaQueryWrapper中常用方法的使用

    MybatisPlus lambdaQueryWrapper中常用方法的使用

    本文主要介紹了MybatisPlus lambdaQueryWrapper中常用方法的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • SpringBoot項(xiàng)目application.yml文件數(shù)據(jù)庫配置密碼加密的方法

    SpringBoot項(xiàng)目application.yml文件數(shù)據(jù)庫配置密碼加密的方法

    這篇文章主要介紹了SpringBoot項(xiàng)目application.yml文件數(shù)據(jù)庫配置密碼加密的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Spring Boot Hazelcast Caching 使用和配置詳解

    Spring Boot Hazelcast Caching 使用和配置詳解

    這篇文章主要介紹了Spring Boot Hazelcast Caching 使用和配置詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • SpringBoot讀取配置文件的四種方式

    SpringBoot讀取配置文件的四種方式

    在 Spring Boot 中,application.yml 文件用于配置應(yīng)用程序的屬性,Spring Boot 默認(rèn)會從 src/main/resources 目錄下的 application.properties 或 application.yml 文件中讀取配置,本文介紹了SpringBoot讀取配置文件的四種方式,需要的朋友可以參考下
    2024-08-08

最新評論

鹤峰县| 日照市| 贵州省| 惠州市| 宜丰县| 孟津县| 贵州省| 延安市| 北川| 绿春县| 保定市| 渭源县| 镶黄旗| 遂平县| 深州市| 泽库县| 涞水县| 阜城县| 辽源市| 和政县| 阿图什市| 临朐县| 黎城县| 庄河市| 阳西县| 都兰县| 城步| 莱西市| 辽阳县| 乌海市| 呼伦贝尔市| 恩平市| 金寨县| 潮州市| 阿鲁科尔沁旗| 琼中| 建湖县| 阜南县| 青阳县| 崇信县| 都昌县|