中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Maven倉庫怎么配置

發布時間:2022-02-19 15:39:28 來源:億速云 閱讀:437 作者:iii 欄目:開發技術

這篇文章主要介紹了Maven倉庫怎么配置的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Maven倉庫怎么配置文章都會有所收獲,下面我們一起來看看吧。

在項目中使用Maven管理jar包依賴,往往會出現以下狀況:

1、國內訪問maven默認遠程中央鏡像特別慢;

2、使用阿里的鏡像替代遠程中央鏡像;

3、阿里云鏡像中缺少部分jar包;

4、同時使用私有倉庫和公有倉庫;

針對以上情況,我們就需要讓Maven支持多倉庫配置。

單獨倉庫配置

當只配置一個倉庫時,操作比較簡單,直接在Maven的settings.xml文件中進行全局配置即可,以阿里云的鏡像為例:

<mirrors>
    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>

只用新增一個mirror配置即可。要做到單一倉庫,設置mirrorOf到*。

mirrorOf中配置的星號,表示匹配所有的artifacts,也就是everything使用這里的代理地址。上面的mirrorOf配置了具體的名字,指的是repository的名字。

鏡像配置說明:

1、id: 鏡像的唯一標識;

2、name: 名稱描述;

3、url: 地址;

4、mirrorOf: 指定鏡像規則,什么情況下從鏡像倉庫拉取。其中,
*: 匹配所有,所有內容都從鏡像拉取;

external:*: 除了本地緩存的所有從鏡像倉庫拉取;

repo,repo1: repo或者repo1,這里的repo指的倉庫ID;

*,!repo1: 除了repo1的所有倉庫;

多倉庫配置

那么針對多倉庫的配置是否再多配置幾個mirror就可以了?如此配置并不會生效。

正確的操作是在profiles節點下配置多個profile,而且配置之后要激活。

<profiles>
    <profile>
      <id>boundlessgeo</id> 
      <repositories>
        <repository>
          <id>boundlessgeo</id> 
          <url>https://repo.boundlessgeo.com/main/</url> 
          <releases>
            <enabled>true</enabled>
          </releases> 
          <snapshots>
            <enabled>true</enabled> 
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>aliyun</id> 
      <repositories>
        <repository>
          <id>aliyun</id> 
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
          <releases>
            <enabled>true</enabled>
          </releases> 
          <snapshots>
            <enabled>true</enabled> 
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile> 
    <profile>
      <id>maven-central</id> 
      <repositories>
        <repository>
          <id>maven-central</id> 
          <url>http://central.maven.org/maven2/</url> 
          <releases>
            <enabled>true</enabled>
          </releases> 
          <snapshots>
            <enabled>true</enabled> 
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
<profiles>

通過配置activeProfiles子節點激活:

<activeProfiles>
    <activeProfile>boundlessgeo</activeProfile>
    <activeProfile>aliyun</activeProfile>
    <activeProfile>maven-central</activeProfile>
</activeProfiles>

此時如果是在Idea中使用了本地的Maven配置,那么在項目的Maven管理中會看到類似如下圖中的profile選項。

Maven倉庫怎么配置

打包時,勾選所使用的profile即可。如果使用Maven命令打包執行命令格式如下:

mvn -Paliyun ...

1.如果aliyun倉庫的id設置為central,則會覆蓋maven里默認的遠程倉庫。

2.aliyun的倉庫也可以不用配置,直接在mirrors標簽內配置一個鏡像倉庫,mirrors鏡像倉庫mirrorOf的值設置為central,則也可以實現覆蓋默認的倉庫。

項目中配置鏡像

在項目中添加多個倉庫,是通過修改項目中的pom文件實現的。

思路:在項目中pom文件的repositories節點(如果沒有手動添加)下添加多個repository節點,每個repository節點是一個倉庫。

配置效果如下:

<!-- 特殊maven倉庫 -->
<repositories>
    <repository>
        <id>central-repo1</id>
        <name>Maven Repository Switchboard</name>
        <url>http://repo1.maven.org/maven2/</url>
        <layout>default</layout>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>

這里的id就是mirrorOf要使用的ID。

在實踐的過程中發現單單配置該倉庫配置并不會生效,需要同時在setting.xml中定義一個mirrorOf為central-repo1的倉庫配置,與該配置的id對照。

setting.xml中的對照配置如下:

<mirror>
    <id>central</id>
    <name>Maven Repository Switchboard</name>
    <url>https://repo1.maven.org/maven2/</url>
    <mirrorOf>central-repo1</mirrorOf>
</mirror>

值得收藏的國內鏡像

<mirrors>
     <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/mvn/view</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>jboss-public-repository-group</id>
        <mirrorOf>central</mirrorOf>
        <name>JBoss Public Repository Group</name>
        <url>http://repository.jboss.org/nexus/content/groups/public</url>
    </mirror>
    <mirror>
        <id>ibiblio</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>https://maven.aliyun.com/mvn/view</url>
    </mirror>
    <mirror>
        <id>central</id>
        <name>Maven Repository Switchboard</name>
        <url>http://repo1.maven.org/maven2/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>repo2</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://repo2.maven.org/maven2/</url>
    </mirror>
</mirrors>

關于“Maven倉庫怎么配置”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Maven倉庫怎么配置”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商城县| 潼关县| 建宁县| 出国| 靖宇县| 河南省| 丰台区| 宁陵县| 慈溪市| 宾川县| 永丰县| 普定县| 瓦房店市| 德州市| 兴宁市| 普格县| 五莲县| 洪雅县| 南岸区| 荣昌县| 宁都县| 独山县| 个旧市| 彭阳县| 石楼县| 岳阳市| 阿城市| 奈曼旗| 河南省| 修水县| 繁昌县| 吴川市| 赣州市| 江门市| 嫩江县| 饶阳县| 皮山县| 连平县| 京山县| 剑阁县| 新泰市|