Maven中的庫repository詳解
一、簡介
所謂的倉庫就是用于存放項目需要的jar包的。在我們的maven項目中其實并沒有項目所需要的jar包,只在pom.xml文件中記錄了jar的坐標。maven依賴管理通過jar的坐標去倉庫中下載jar文件。
如果一個項目需要依賴一個構件,Maven編譯的時候會首先從本地庫查找該構件。如果本地庫中沒有,再根據(jù)配置的遠程庫信息,逐個去遠程庫中查找該構件。
如果在遠程庫中找到則下載到本地庫,如果在所有的遠程庫中都沒有則會拋出編譯異常。
Maven中要配置庫,可以有多種方式。最直接的是在項目中的pom.xml文件中,通過<repositories>配置庫,這樣配置的庫僅適用于當前項目。也可以通過<profiles>中的<repositories>配置在特定環(huán)境下的特殊庫,這可以在項目的pom.xml文件中實現(xiàn),也可以在Maven的settings.xml中實現(xiàn)。
二、配置repository
在pom.xml或settings.xml中設置<repositories>,往往需要提供一個<repository>的如下信息:
id,庫的ID
name,庫的名稱
url,庫的URL
layout,在Maven 2/3中都是default,只有在Maven 1.x中才是legacy
releases,庫中版本為releases的構件
snapshots,庫中版本為snapshots的構件
根據(jù)構件的版本,可以將構件分為releases類型的構件和snapshots類型的構件。
對于一個構件,其版本的變化是否會引起庫中更新該構件呢?則需要根據(jù)庫的<releases>或<snapshots>設置。<releases>和<snapshots>的設置參數(shù)一致,如下所示:
enabled,是否支持更新
updatePolicy,構件更新的策略,可選值有daily, always, never, interval:X(其中的X是一個數(shù)字,表示間隔的時間,單位min),默認為daily
checksumPolicy,校驗碼異常的策略,可選值有ignore, fail, warn
1. 在pom.xml中配置<repository>
<repositories> <repository> <releases> <enabled>false</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <id>codehausSnapshots</id> <name>Codehaus Snapshots</name> <url>https://repository-master.mulesoft.org/nexus/content/groups/public/</span></url> <layout>default</layout> </repository> </repositories>
2. Settings.xml配置<repository>
<profile> <id>nexus-profile</id> <repositories> <repository> <id>nexus-repo</id> <url>https://nexus3.nx-code.com/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <updatePolicy>always</updatePolicy> <enabled>true</enabled> </snapshots> </repository> </repositories> </profile>
三、分類
maven倉庫分為兩類:
2.1 本地倉庫
默認maven會在c盤創(chuàng)建一個.m2的本地倉庫。默認位置:用戶目錄/.m2/repository/,可以修改setting.xml文件來修改本地倉庫地址
<localRepository>D:\software\mvn\m2\repository</localRepository>
2.2 遠程倉庫
中央倉庫:默認的遠程倉庫。
私有倉庫:局域網內的倉庫??梢岳斫鉃樽约汗镜膫}庫,也叫Nexus私服。
鏡像倉庫:其他公開的資源倉庫 例如國內的阿里云,jboss,jcenter 倉庫等
到此這篇關于Maven中的庫(repository)的文章就介紹到這了,更多相關Maven repository內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java實現(xiàn)操作JSON的便捷工具類完整實例【重寫Google的Gson】
這篇文章主要介紹了Java實現(xiàn)操作JSON的便捷工具類,基于重寫Google的Gson實現(xiàn),涉及java針對json數(shù)據(jù)的各種常見轉換操作實現(xiàn)技巧,需要的朋友可以參考下2017-10-10一文了解Java讀寫鎖ReentrantReadWriteLock的使用
ReentrantReadWriteLock稱為讀寫鎖,它提供一個讀鎖,支持多個線程共享同一把鎖。這篇文章主要講解一下ReentrantReadWriteLock的使用和應用場景,感興趣的可以了解一下2022-10-10idea統(tǒng)計代碼行數(shù)Statistic的步驟詳解
這篇文章主要介紹了idea統(tǒng)計代碼行數(shù)Statistic的步驟詳解,本文通過使用Statistic插件操作的,通過圖文實例相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10