Maven倉庫詳解

轉載自:Maven入門指南④:倉庫

1 . 倉庫簡介

  沒有 Maven 時,項目用到的 .jar 文件通常需要拷貝到 /lib 目錄,項目多了,拷貝的文件副本就多了,占用磁盤空間,且難于管理。Maven 使用一個稱之為倉庫的目錄,根據構件的坐標統一存儲這些構件的唯一副本,在項目中通過依賴聲明,可以方便的引用構件。

2 . 倉庫的布局

  構件都有唯一的坐標,Maven 根據坐標管理構件的存儲。如以下對 spring-orm-3.2.0 的存儲:

文件路徑對應了:groupId/artifactId/version/artifactId-version.packaging

3 . 倉庫的分類

  Maven 倉庫分為本地倉庫和遠程倉庫,尋找構件時,首先從本地倉庫找,找不到則到遠程倉庫找,再找不到就報錯;在遠程倉庫中找到了,就下載到本地倉庫再使用。中央倉庫是 Maven 核心自帶的遠程倉庫,默認地址:http://repo1.maven.org/maven2。除了中央倉庫,還有其它很多公共的遠程倉庫。私服是架設在本機或局域網中的一種特殊的遠程倉庫,通過私服可以方便的管理其它所有的外部遠程倉庫。

3 . 1 . 本地倉庫

  Maven 本地倉庫默認地址為:${user.home}/.m2/repository。

  通過修改 %MAVEN_HOME%/conf/settings.xml (或者:${user.home}/.m2/settings.xml,針對當前用戶(推薦))配置文件可以更改本地倉庫的位置。

3 . 2 . 中央倉庫

  安裝完 Maven ,本地倉庫幾乎是空的,這時需要從遠程倉庫下載所需構件。Maven 配置了一個默認的遠程倉庫,即中央倉庫,找到 %MAVEN_HOME%/lib/maven-model-builder-3.2.1.jar,打開?org/apache/maven/model/pom-4.0.0.xml 超級POM:

3 . 3 . 在項目中添加其他遠程倉庫

  當中央倉庫找不到所需的構件時,我們可以配置 pom.xml ,添加其它的遠程倉庫。

復制代碼
 1 <repositories>
 2     <repository>  3 <id>Sonatype</id>  4 <name>Sonatype Repository</name>  5 <url>http://repository.sonatype.org/content/groups/public/</url>  6 <layout>default</layout>  7 <releases>  8 <enabled>true</enabled>  9 </releases> 10 <snapshots> 11 <enabled>false</enabled> 12 </snapshots> 13 </repository> 14 </repositories>
復制代碼

其中 id 必須唯一,若不唯一,如設置為 central 將覆蓋中央倉庫的配置。

3 . 4 . 鏡像倉庫

  鏡像倉庫可以理解為倉庫的副本,從倉庫中可以找到的構件,從鏡像倉庫中也可以找到。比如針對中央倉庫 http://repo1.maven.org/maven2 ,在中國有它的鏡像倉庫,這樣我們直接訪問鏡像倉庫,更快更穩定。

復制代碼
 1 <settings>
 2  ...  3 <mirrors>  4 <mirror>  5 <id>maven.net.cn</id>  6 <name>central mirror in china</name>  7 <url>http://maven.net.cn/content/groups/public</url>  8 <mirrorOf>central</mirrorOf> <!--表明為central中央倉庫配置鏡像倉庫-->  9 </mirror> 10 </mirrors> 11  ... 12 </settings>
復制代碼

  其中,<mirrorOf> 指明了為哪個倉庫配置鏡像,可以使用通配符如:<mirrorOf>*</mirrorOf>,或者 <mirrorOf>repo1,repo2</mirrorOf> 等進行匹配。一旦配置了鏡像,所有針對原倉庫的訪問將轉到鏡像倉庫的訪問,原倉庫將不再能直接訪問,即使鏡像倉庫不穩定或停用。在搭建私服的時候,我們通常為所有倉庫設置鏡像為私服地址,通過私服對所有倉庫進行統一管理。

3 . 5 . 常用的倉庫搜索地址

  • http://search.maven.org/
  • https://repository.sonatype.org/
  • http://mvnrepository.com/

轉載于:https://www.cnblogs.com/ysq0908/p/4737977.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375628.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375628.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375628.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c++ 從 string 到 short

string test"1234"; short *p reinterpret_cast<short*>(const_cast<char*>(test.c_str()));從 short 到 char * char *q reinterpret_cast<char*>(const_cast<short*>(p));還可以利用 memcpy 這個函數 #include <cstring>short a…

JavaScript02

JavaScript02 如果<head>標簽中包含的外部文件很多&#xff0c;那么這將直接導致頁面展示速度很慢。因為html只有當<body>元素開始之后&#xff0c;才會開始頁面展示動作&#xff0c;因此&#xff0c;最直接的解決辦法就是&#xff0c;將一部分不是頁面加載之后立刻…

.NET使用NPOI讀取Word模板并替換關鍵字并下載

NPOI 是 POI 項目的 .NET 版本。POI是一個開源的Java讀寫Excel、WORD等微軟OLE2組件文檔的項目。 使用 NPOI 你就可以在沒有安裝 Office 或者相應環境的機器上對 WORD/EXCEL 文檔進行讀寫 NPOI下載地址&#xff1a;http://npoi.codeplex.com/ 以下代碼僅供參考&#xff0c;請根…

中間件、MetaQ入門學習

目錄 1. 中間件技術 2. MetaQ中間件 3. MetaQ編程實踐 1. 中間件技術 0x1: 中間件簡介 中間件(Middleware)是提供系統軟件和應用軟件之間連接的軟件&#xff0c;以便于軟件各部件之間的溝通&#xff0c;特別是應用軟件對于系統軟件的集中的邏輯&#xff0c;在現代信息技術應用框…

MyBatis 入門到精通(二) SQL語句映射XML文件

MyBatis 真正強大之處就在這些映射語句&#xff0c;也就是它的魔力所在。對于它的強大功能&#xff0c;SQL 映射文件的配置卻非常簡單。 如果您比較SQL 映射文件配置與JDBC 代碼&#xff0c;您很快可以發現&#xff0c;使用SQL 映射文件配置可以節省95%的代碼量。MyBatis 被創建…

Monitoring the process execution and memory consumption in its lifetime

<?xml version"1.0" encoding"utf-8"?> Monitoring the process execution and memory consumption in its lifetimeMonitoring the process execution and memory consumption in its lifetime Recently, I am working on a research project whi…

設置和清除LD_LIBRARY_PATH

"" 設置 export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/the/path/you/want/setexport LD_LIBRARY_PATH/the/path/you/want/set "" 查看設置 echo $LD_LIBRARY_PATH "" 清除 unset LD_LIBRARY_PATH

Jenkins中切換devtoolset

source /opt/rh/devtoolset-4/enable or source scl_source enable devtoolset-4

告訴一個遠程團隊協作的故事

Lisette Sutherland和Elinor Slomba在一起收集一些人的故事&#xff0c;這些人的業務模式須要依靠遠程團隊正確完畢工作。故事中體現出遠程團隊怎樣協作。怎樣跨越距離的障礙&#xff0c;怎樣建立信任&#xff0c;怎樣完畢任務。即將出版的《高能協作&#xff1a;遠程戰地指南》…

混沌數學之呂陳吸引子

呂陳吸引子&#xff08;Lu Chen attractor&#xff09;也稱Lu attractor 吸引子是2002年中國科學院數學與系統科學研究院研究員 呂金虎&#xff08;Jinhu Lu)&#xff0c;Suchun Zhang 和香港城市大學電子工程系講座教授陳關榮&#xff08; Guangrong Chen &#xff09;發現和分…

整數反轉

給出一個 32 位的有符號整數&#xff0c;你需要將這個整數中每位上的數字進行反轉。 示例 1: 輸入: 123 輸出: 321示例 2: 輸入: -123 輸出: -321示例 3: 輸入: 120 輸出: 21注意: 假設我們的環境只能存儲得下 32 位的有符號整數&#xff0c;則其數值范圍為 [?231, 231 ?…

C# char[]與string之間的相互轉換

string 兌換 Char[] string ss "abcdefg";char[] cc ss.ToCharArray();Char[] 轉換成string string s new string(cc);byte[] 與 string 之間的轉換 byte[] bb Encoding.UTF8.GetBytes(ss);string s Encoding.UTF8.GetString(bb);string[] 轉換成string string …

java 直接 訪問WebSphere JNDI

代碼如下: Hashtable<String, String> env new Hashtable<String, String>();env.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");env.put(Context.PROVIDER_URL, "iiop://localhost:2809");Co…

Standard C++ Episode 7

六、C的I/O流庫 C&#xff1a;fopen/fclose/fread/fwrite/fprintf/fscanf/fseek/ftell... C&#xff1a;對基本的I/O操作做了類的封裝&#xff0c;其功能沒有任何差別&#xff0c;用法和C的I/O流也非常近似。 七、格式化I/O <</>> 1 /*2 *格式化I/O練習3 */4 #in…

在Android設備與Mac電腦之間傳輸文件

不同于Windows和Linux&#xff0c;Android設備連接到Mac電腦上是看不見掛載的目錄的&#xff0c;既然看不到了Android設備的掛載目錄&#xff0c;如何在Android設備與Mac電腦之間傳輸文件呢&#xff1f; 原來Android官方提供了傳輸文件的工具&#xff01;訪問www.android.com/f…

mysql語句在node.js中的寫法

總結一下mysql語句在node.js中的各種寫法&#xff0c;參考了npm網站mysql模塊給的實例。 查詢 select //1 db.query(select * from tuanshang_users where user_id < 10,function(err,results,fields){//if(err) throw err;console.log( results );if(!!results.length){con…

jqPlot圖表插件學習之折線圖-散點圖-series屬性

一、準備工作 首先我們需要到官網下載所需的文件&#xff1a; 官網下載&#xff08;筆者選擇的是jquery.jqplot.1.0.8r1250.zip這個版本&#xff09; 然后讀者需要根據自己的情況新建一個項目并且按照如下的方式加載對應的js和css&#xff08;因為筆者在VS2012環境下新建的&…

node.js基礎:數據存儲

無服務器的數據存儲 內存存儲 var http require(http); var count 0; //服務器訪問次數存儲在內存中 http.createServer(function(req,res){res.write(hello count);res.end(); }).listen(3000);    基于文件的存儲 node.js中主要用fs文件系統模塊來管理文件的存儲。 文件…

CUDA 6.5 VS2013 Win7:創建CUDA項目

運行環境&#xff1a; Win7VS2013CUDA6.5 1.創建win32空項目 2.右鍵項目解決方案-->生成項目依賴項-->生成自定義 3.右鍵項目解決方案-->屬性-->配置屬性-->常規-->平臺工具集 配置屬性-->VC目錄-->包含目錄&#xff0c;添加 $(CUDA_INC_PATH) 連接器-…

c/c++編碼規范(2)--作用域

2. 作用域 靜止使用class類型的靜態或全局變量。 6. 命名約定 6.1. 函數名&#xff0c;變量名&#xff0c;文件名要有描述性&#xff0c;少用縮寫。 6.2. 文件命名 6.2.1. 文件名要全部用小寫。可使用“_”或"-"&#xff0c;遵從項目規范&#xff0c;沒有規范&#x…