本地用maven搭建SpringMvc+redis集成
---恢復內容開始---
首先本地需要搭建私服,簡單說一下搭建私服的步驟
1.為什麽使用Nexus
如果沒有私服,我們所需的所有構件都需要通過maven的中央倉庫和第三方的Maven倉庫下載到本地,而一個團隊中的所有人都重復的從maven倉庫下載構件無疑加大了倉庫的負載和浪費了外網帶寬,如果網速慢的話,還會影響項目的進程。很多情況下項目的開發都是在內網進行的,連接不到maven倉庫怎麽辦呢?開發的公共構件怎麽讓其它項目使用?這個時候我們不得不為自己的團隊搭建屬於自己的maven私服,這樣既節省了網絡帶寬也會加速項目搭建的進程,當然前提條件就是你的私服中擁有項目所需的所有構件。
2.Nexus下載
下載地址:http://www.sonatype.org/nexus/go
3.Nexus啟動
我下載的是zip包,解壓後進入\nexus-2.1.2-bundle\nexus-2.1.2\bin\jsw\,根據操作系統類型選擇文件夾,我選的是windows-x86-64文件夾,進入後可看到如下所示bat文件。
4.進入Nexus管理頁面
http://localhost:8081/nexus/index.html
默認密碼 admin admin123
Nexus倉庫
nexus的倉庫類型分為以下四種:
group: 倉庫組
hosted:宿主
proxy:代理
virtual:虛擬
首次登陸nexus後可以看到以下一個倉庫組和多個倉庫。
Public Repositories: 倉庫組
3rd party: 無法從公共倉庫獲得的第三方發布版本的構件倉庫
Apache Snapshots: 用了代理ApacheMaven倉庫快照版本的構件倉庫
Central: 用來代理maven中央倉庫中發布版本構件的倉庫
Central M1 shadow: 用於提供中央倉庫中M1格式的發布版本的構件鏡像倉庫
Codehaus Snapshots: 用來代理CodehausMaven 倉庫的快照版本構件的倉庫
Releases: 用來部署管理內部的發布版本構件的宿主類型倉庫
Snapshots:用來部署管理內部的快照版本構件的宿主類型倉庫
5.配置nexus
新搭建的neuxs環境只是一個空的倉庫,需要手動和遠程中心庫進行同步,nexus默認是關閉遠程索引下載,最重要的一件事情就是開啟遠程索引下載。登陸nexus系統,默認用戶名密碼為admin/admin123。
點擊左邊Administration菜單下面的Repositories,找到右邊倉庫列表中的三個倉庫Apache Snapshots,Codehaus Snapshots和Maven Central,然後再沒有倉庫的configuration下把Download Remote Indexes修改為true。如下圖
然後在Apache Snapshots,Codehaus Snapshots和Maven Central這三個倉庫上分別右鍵,選擇Repari Index,這樣Nexus就會去下載遠程的索引文件。
這樣設置以後, Nexus會自動從遠程中央倉庫下載索引文件, 為了檢驗索引文件自動下載是否生效,可以卻換到Browse Index
在左邊菜單欄裏面有個Artifact Search, 在輸入框裏面輸入你想要搜索的構件名字,比如:maven, 那麽查詢結果如下:
6.建立宿主倉庫
新 建公司的內部倉庫,步驟為Repositories –> Add –> Hosted Repository,在頁面的下半部分輸入框中填入Repository ID和Repository Name即可,比如分別填入
xb 和 xb repostiory,另外把Deployment Policy設置為Allow Redeploy,點擊save就創建完成了。
這裏我點擊添加宿主類型的倉庫,在倉庫列表的下方會出現新增倉庫的配置,如下所示:
7.創建Nexus倉庫組
Nexus 中倉庫組的概念是Maven沒有的,在Maven看來,不管你是hosted也好,proxy也好,或者group也好,對我都是一樣的,我只管根據 groupId,artifactId,version等信息向你要構件。為了方便Maven的配置,Nexus能夠將多個倉庫,hosted或者 proxy合並成一個group,這樣,Maven只需要依賴於一個group,便能使用所有該group包含的倉庫的內容。
neuxs- 1.9.2.3中默認自帶了一個名為“Public Repositories”組,點擊該組可以對他保護的倉庫進行調整,把剛才建立的公司內部倉庫xb repostiory加入其中,這樣就不需要再在maven中明確指定內部倉庫 的地址了。同時創建一個Group ID為public-snapshots、Group Name為Public Snapshots Repositories的組,把Apache Snapshots、Codehaus Snapshots、Snapshots和zfy repostiory加入其中。
到這裏neuxs的安裝配置就完成了,下面介紹如何在maven中使用自己的私服
私服搭建好了,接下來就創建maven項目,我這邊用的eclipse
groupid和artifactId被統稱為“坐標”是為了保證項目唯一性而提出的,如果你要把你項目弄到maven本地倉庫去,你想要找到你的項目就必須根據這兩個id去查找。
groupId一般分為多個段,這裏我只說兩段,第一段為域,第二段為公司名稱。域又分為org、com、cn等等許多,其中org為非營利組織,com為商業組織。舉個apache公司的tomcat項目例子:這個項目的groupId是org.apache,它的域是org(因為tomcat是非營利項目),公司名稱是apache,artigactId是tomcat。
比如我創建一個項目,我一般會將groupId設置為cn.xb,cn表示域為中國,xb是我個人姓名縮寫,artifactId設置為testProj,表示你這個項目的名稱是testProj,依照這個設置,你的包結構最好是cn.xb.testProj打頭的,如果有個StudentPeng,它的全路徑就是cn.xb.testProj.StudentPeng
此時項目還有錯,通過提示信息可知是由於找不到HttpServlet類,可通過導入Tomcat到工作目錄或者通過Maven添加HttpServlet類所在的servlet-api.jar
---恢復內容結束---
本地用maven搭建SpringMvc+redis集成