Maven仓库配置中央仓库
目錄
1.什么是maven倉庫
2.倉庫分為兩類:本地倉庫和遠程倉庫。
2.1 遠程倉庫
2.2 本地倉庫
3.倉庫配置
3.1 在 settings.xml 文件中配置本地倉庫
3.2 在 settings.xml 文件中配置鏡像倉庫(遠程倉庫):
4.倉庫優先級問題:
4.1本地倉庫
4.2指定倉庫
4.3遠程倉庫
4.3.1鏡像倉庫
4.3.2中央倉庫
1.什么是maven倉庫
Maven 倉庫是基于簡單文件系統存儲的,集中化管理 Java API 資源(構件)的一個服務。倉庫中的任何一個構件都有其唯一的坐標,根據這個坐標可以定義其在倉庫中的唯一存儲路徑。得益于 Maven 的坐標機制,任何 Maven 項目使用任何一個構件的方式都是完全相同的,Maven 可以在某個位置統一存儲所有的 Maven 項目共享的構件,這個統一的位置就是倉庫,項目構建完畢后生成的構件也可以安裝或者部署到倉庫中,供其它項目使用。
2.倉庫分為兩類:本地倉庫和遠程倉庫。
2.1 遠程倉庫
遠程倉庫指通過各種協議如 file://和 http://訪問的其它類型的倉庫。這些倉庫可能是第三方搭建的真實的遠程倉庫,用來提供他們的構件下載(例如 repo.maven.apache.org 和uk.maven.org 是 Maven 的中央倉庫)。其它“遠程”倉庫可能是你的公司擁有的建立在文件或 HTTP 服務器上的內部倉庫,用來在開發團隊間共享私有構件和管理發布的。
2.2 本地倉庫
本地倉庫指本機的一份拷貝,用來緩存遠程下載,包含你尚未發布的臨時構件。
3.倉庫配置
3.1 在 settings.xml 文件中配置本地倉庫
本地倉庫是開發者本地電腦中的一個目錄,用于緩存從遠程倉庫下載的構件。默認的本地倉庫是${user.home}/.m2/repository。用戶可使用 settings.xml 文件修改本地倉庫。具體內容如下:
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><!-- 本地倉庫配置 --><localRepository>/put/your/local/repository/here</localRepository><!-- 省略,具體信息參考后續內容。 --> </settings>之后改為你電腦的絕對路徑默認是注釋的:
3.2 在 settings.xml 文件中配置鏡像倉庫(遠程倉庫):
也就是解決國外倉庫下載安裝較慢的問題,我們可以更換遠程倉庫。
如果倉庫 A 可以提供倉庫 B 存儲的所有內容,那么就可以認為 A 是 B 的一個鏡像。例如:在國內直接連接中央倉庫下載依賴,由于一些特殊原因下載速度非常慢。這時,我們可以使用阿里云提供的鏡http://maven.aliyun.com/nexus/content/groups/public/來替換中央倉庫 http://repol.maven.org/maven2/。修改 maven 的 setting.xml 文件,具體內容如下:
<mirror> <!-- 指定鏡像 ID --> <id>nexus-aliyun</id> <!-- 匹配中央倉庫。--> <mirrorOf>central</mirrorOf> <!-- 指定鏡像名稱 --> <name>Nexus aliyun</name> <!-- 指定鏡像路徑 --> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>默認顯示:
之后復制粘貼上面的鏡像配置
4.倉庫優先級問題:
本地倉庫,鏡像倉庫,中央倉庫。
鏡像倉庫=中央倉庫。 鏡像倉庫是用于替代中央倉庫的。
倉庫訪問優先級:
4.1本地倉庫
第一訪問本地倉庫。
4.2指定倉庫
如果本地倉庫不存在對應信息,訪問配置文件中指定的遠程倉庫。
這個遠程倉庫是第二優先級。
4.3遠程倉庫
4.3.1鏡像倉庫
鏡像倉庫是 Maven 開發過程中的首選遠程倉庫,在本地倉庫和指定倉庫無法獲取資源
的時候,直接訪問鏡像倉庫。
4.3.2中央倉庫
如果鏡像倉庫不是中央倉庫,則會在訪問鏡像倉庫無法獲取資源后,訪問中央倉庫。
修改maven默認倉庫
maven從默認倉庫下載依賴速度很慢,這里我篩選了幾個比較快的倉庫替換默認倉庫,,因為有可能倉庫中的依賴不全,所以最好多配置幾個倉庫。
1.第一步
<mirrors><!-- 阿里云鏡像 --><mirror><id>nexus-aliyun</id><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror><!-- maven官方2號鏡像 --><mirror><id>repo2</id><name>Mirror from Maven Repo2</name><url>http://repo2.maven.org/maven2/</url><mirrorOf>central</mirrorOf></mirror><!-- maven的UK鏡像 --><mirror><id>ui</id><name>Mirror from UK</name><url>http://uk.maven.org/maven2/</url><mirrorOf>central</mirrorOf></mirror><!-- maven的UK鏡像 --><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> </mirrors>打開maven_home/conf/settings.xml文件,找到mirrors標簽,如下圖
?
2.第二步
插入倉庫內容,最終效果如下圖
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><!-- 本地倉庫配置 --><!-- 省略,具體信息參考后續內容。 --><mirrors><!-- mirror| Specifies a repository mirror site to use instead of a given repository. The repository that| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.|<mirror><id>mirrorId</id><mirrorOf>repositoryId</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://my.repository.com/repo/path</url></mirror>--><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf> </mirror> </mirrors></settings>?
總結
以上是生活随笔為你收集整理的Maven仓库配置中央仓库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Nginx】Nginx服务器之负载均衡
- 下一篇: Java毕设项目大学生体检管理系统计算机