1. 程式人生 > >關於maven配置檔案setting.xml中的配置

關於maven配置檔案setting.xml中的配置

前面已經講解了配置nexus共享倉庫。啟動了nexus服務後,本地倉庫下載jar包都是從nexus裡下載,如果nexus裡沒有,nexus會與maven的中央倉庫打交道,然後下載對應的依賴包。當關閉了nexus服務後,本地倉庫就會跳過nexus,直接去maven中央倉庫下載依賴包了。

如果我們不希望本地倉庫直接去maven中央倉庫下載,而必須要從nexus裡下載依賴包,如果nexus裡沒有對應的依賴包,就下載不了。

要實現這種效果,需要在setting裡配置映象(<mirror>),讓所有的倉庫都從這個映象的url(倉庫)中下載依賴。

setting裡配置了映象以後,本地倉庫就不再與nexus打交道了,而是直接與映象中配置的的url(倉庫)進行打交道。

這裡說明一下,不管是在pom.xml裡配置了<repositories>去指向nexus倉庫,還是在setting.xml裡配置<profile>去指向nexus倉庫,當從本地倉庫去下載依賴的時候,如果nexus裡找不到對應的依賴包,會預設的去maven倉庫裡下載。即使是nexus服務關閉了,本地倉庫還是會去maven中央倉庫下載對應依賴包。這是maven裡面的預設配置(maven-model-builder-3.3.3.jar裡pom-4.0.0.xml檔案配置了id為central的中央倉庫)。

  1. <profiles>
  2.     <profile
    >
  3.       <id>nexusProfile</id>
  4.       <repositories>
  5.         <repository>
  6.             <id>xxx</id>
  7.             <name>111</name>
  8.             <url>http://localhost:8081/nexus/content/groups/public/</url>
  9.             <snapshots>
  10.                 <
    enabled>true</enabled>
  11.             </snapshots>
  12.             <releases>
  13.                 <enabled>true</enabled>
  14.             </releases>
  15.             <layout>default</layout>
  16.         </repository>
  17.       </repositories>
  18.     </profile>
  19.   </profiles>
  20.     <activeProfiles>
  21.         <!--激活了才生效-->
  22.         <activeProfile>nexusProfile</activeProfile>
  23.     </activeProfiles>


配置映象後,下載依賴包的流程為:

如果沒有把預設的central倉庫配置到映象裡,

  1. <mirror>
  2.       <id>mirrorId</id>
  3.       <!--表示訪問哪些工廠時需要使用映象-->
  4.       <mirrorOf>xxx</mirrorOf>
  5.       <name>Human Readable Name for this Mirror.</name>
  6.       <url>http://localhost:8081/nexus/content/groups/public/</url>
  7.     </mirror>

流程如下:

(1)配置了映象後,當要下載依賴時,第一步:找到setting.xml中啟用的profile下repository裡id為xxx的配置,而xxx已經配置在裡映象裡

(2)這時會去到到映象裡的url(倉庫)裡下載依賴

(3)當發現映象裡配置的url(倉庫)裡下載不到對應的依賴時,會自動去找到maven中預設的id為central,url為中央倉庫地址的repository配置,因為central沒有配置在映象中,所以此時可以直接去到maven中央倉庫下載依賴包。

結果如下圖所示:


如果已經把預設的central倉庫配置到映象裡,

  1. </pre><prename="code"class="html"><mirror>
  2.       <id>mirrorId</id>
  3.       <!--表示訪問哪些工廠時需要使用映象-->
  4.       <!--<mirrorOf>xxx,central</mirrorOf> -->
  5.       <mirrorOf>*</mirrorOf><!--一般用*號-->
  6.       <name>Human Readable Name for this Mirror.</name>
  7.       <url>http://localhost:8081/nexus/content/groups/public/</url>
  8.     </mirror>

流程如下:

(1)配置了映象後,當要下載依賴時,第一步:找到setting.xml中啟用的profile下repository裡id為xxx的配置,而xxx已經配置在裡映象裡

(2)這個時候會去到到映象裡的url(倉庫)裡下載依賴

(3)當發現映象裡配置的url(倉庫)裡下載不到對應的依賴時,會自動去找到maven中預設的id為central,url為中央倉庫地址的repository配置,

(4)此時central配置在映象中,所以這次是去到到映象裡的url(倉庫)裡下載依賴了。而不會去訪問maven中央倉庫了。

結果如下圖:

相關推薦

關於maven配置檔案setting.xml配置

前面已經講解了配置nexus共享倉庫。啟動了nexus服務後,本地倉庫下載jar包都是從nexus裡下載,如果nexus裡沒有,nexus會與maven的中央倉庫打交道,然後下載對應的依賴包。當關閉了nexus服務後,本地倉庫就會跳過nexus,直接去maven中央倉庫下

maven配置檔案setting.xml欄位註釋

maven的配置檔案為settings.xml,在下面路徑中可以找到這個檔案,分別為:$M2_HOME/conf/settings.xml:全域性設定,在maven的安裝目錄下;${user.home}/.m2/settings.xml:使用者設定,需要使用者手動新增,可以

mybatis配置檔案mapper.xmltrim標籤的用法

在mapper.xml中對statement的定義,可以用<trim>來填充和隱藏sql語句。 <!--修改user的statement--><update id="updateUser" parameterType="user">update user <

Spring配置檔案application xml配置的含義

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

【SSH】hibernate的源資料配置檔案**.hbm.xml的entity-name屬性一定要用完整類名,即使你用了包!!

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://ww

Maven3在setting.xml配置代理

在特殊的網路策略環境下,可能要需要開發人員通過代理伺服器來訪問網際網路。此時就需要給Maven配置代理服務來訪問倉庫、更新相關資源。 開啟setting.xml檔案 <proxies> <proxy> <id>my

springmvc配置檔案web.xml/與/*的區別

<!-- 配置springmvc的 DispatcherServlet ctrl+alt+向上鍵 --><servlet><servlet-name>springDispatcherServlet</servlet-name>

Spring配置檔案application.xml配置的含義

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/

maven之Nexus的配置setting.xml配置】(六)

在上一篇文章中,說到了在專案中通過使用<repositories>標籤來配置一個Nexus的工廠,使得依賴都能夠先從區域網共享倉庫(nexus )裡尋找。但是這種配置還是不太方便,因為我們每建立一個專案,都要在專案的pom.xml檔案裡配置<reposit

mybatis配置檔案conf.xml的environment詳解

在這篇文章中,我們接著前文繼續往下看其他的配置元素,今天的主角就是我們的<environments>元素,該元素用於對我們需要訪問的資料庫配置進行設定,我們先來看一下配置: <environments default="development"

Mybatis 全域性配置檔案 SqlMapConfig.xml配置內容

全域性配置檔案 SqlMapConfig.xml 的配置內容 properties(屬性) settings(全域性配置引數) typeAliases(類型別名) typeHandlers(型別處理器) objectFactory(

在eclipse的啟動配置檔案eclipse.ini配置-vm option

問題: 每次啟動eclipse時,報一個warning:Eclipse is running in a JRE, but a JDK is required.Some Maven plugins may not work when importing projects or

MyBatis(三)全域性配置檔案SqlMapConfig.xml配置內容

properties屬性 這個前面使用jdbc的時候就使用過的db.properties檔案,這個檔案儲存的是鍵值對資訊,那麼我們可以把資料庫的一些原始資訊放到這個檔案中,然後在sqlMapConfig.xml檔案中通過取值來配置,這樣就不會把資料庫資訊硬編碼到程式中。比如

配置檔案web.config配置httpHandlers節點是的一些說明

<httpHandllers> <add verb="*" path="*.lcj" type="WebHttpHandler.MyHandler" /> </httpHandllers> 說明如下: verb可以是“POST”或 “GE

maven全域性配置檔案settings.xml及專案pom.xml的詳解完整版

maven中全域性配置檔案settings.xml及專案pom.xml的詳解   一、apache maven的簡介     Apache Maven,是一個軟體(特別是Java軟體)專案管理及自動構建工具,由Apache軟體基金會所提供。基於專案物件

maven全域性配置檔案settings.xml及專案pom.xml的詳解3

(2)   properties 作用:對應profile的擴充套件屬性列表。 maven屬性和ant中的屬性一樣,可以用來存放一些值。這些值可以在pom.xml中的任何地方使用標記${X}來使用,這裡X是指屬性的名稱。屬性有五種不同的形式,並且都能在se

IDEA 匯入或新建maven專案 web.xml配置檔案路徑報錯,配置檔案找不到

某次碰到一個很奇怪的問題,本來專案沒問題的,重新匯入到Idea執行時就跑不起來了。 跑專案時,報如下錯誤: 看報錯好像是log4j2的配置檔案找不到 不可能呀,上次還跑得好好的,檔案也都在。 於是我進入web.xml看看: 怎麼配置檔案都報紅了

IDEA導入maven工程以及web.xmlspring配置文件文件加載不到的問題

tom gpo 使用 選擇 spring配置 http war 文件中 ext 使用idea導入maven工程,工程只留了src和pom.xml文件 1、從打開idea中導入:File ----> New -----> Project from Exist

pom.xml配置maven專案的JDK版本

預設版本 maven專案中,編譯器和JRE的版本預設為1.5(所以Alt + F5重新整理專案後,多個引數值會變成1.5) 引數如下(選中專案,Alt + Enter,檢視專案屬性): Java Build Path下的Libraries下的JRE System Lirbrary的版

log4j.xml 配置多個輸出檔案

現在的專案中,對於日誌的配置,我們有時候需要配置對應不同的輸出日誌檔案,例如按照模組劃分,按照功能劃分,分別輸出到不同的日誌檔案中,下面介紹一下,怎麼配置不同的輸出日誌檔案。 下面是一整塊的log4j.xml配置。如果對怎麼配置spring 和 log4j不瞭解的話,可以參