公司通常都有個本身的私服來管理各類jar包,緣由大概有這麼3個,分別是:html
一、有的公司不能訪問外網,只能經過私服來管理jar包和插件;windows
二、公司網速比較慢,經過公司的私服來獲取jar包比較快;安全
三、內部的的一些jar包放在私服上,比較方便的你們使用。eclipse
這裏簡單介紹下搭建Nexus環境,而且在eclipse mvn插件環境下來上傳jar包。學習
說明:這裏是Windows環境,Linux相似。url
一、下載Nexus安裝文件:http://www.sonatype.org/nexus/go ,目前是nexus-2.13.0-01-bundle.tar.zip這個最新版本;spa
二、解壓到任意目錄,我這裏解壓到E盤,進入E:\nexus-2.13.0-01\bin\jsw\windows-x86-64,點擊install-nexus.bat安裝成爲windows服務,這裏選擇本身計算機對應的文件;.net
三、訪問http://localhost:8081/nexus/,這就是私服;插件
四、點擊右上角登陸,默認賬號admin,密碼admin123;code
五、點擊左邊Repositories,能夠看到一系列倉庫類型,咱們通常使用3個,分別是Releases,Snapshots和3rd party。這3個倉庫風別是裝穩定版,開發版和第三方jar包 。
六、舉例,手動上傳一個jar到Releases倉庫裏面。
七、上面是手動方式,另一種是利用mvn直接發佈到私服上面來,須要修改2個地方,第一是在settings文件的servers節點下加入,這是配置私服的密碼和倉庫,配合pom文件中的倉庫地址就構成了完成的訪問私服的要素,賬號和密碼之因此在settings中設置,是因爲settings文件是本地的,而pom.xml文件是公共的,不安全,因此放在settings中:
<server> <id>nexus-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>nexus-snapshots</id> <username>admin</username> <password>admin123</password> </server>
第二是在pom.xml中增長,下面的id和settings中的id必需要同樣。
<distributionManagement> <repository> <id>nexus-release</id> <name>Nexus Release Repository</name> <url>http://localhost:8081/nexus/content/repositories/release/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
上面的私服兩個倉庫的url從什麼地方獲取呢?以下圖:
八、新建一個mvn項目,
一、運行source:jar在target下生成源碼jar包;
二、運行deploy,class的jar包發佈到私服;
三、運行source:jar deploy,連同源碼一塊兒發佈到私服。
九、完成,在其餘項目中可使用上面的jar包了。
十、a.貼兩個之前遇到過的小異常過來,在eclipse中配置mvn的時候能夠分別配置mvn的目錄和settings文件,不過最好是兩者是同一個版本的,否則有可能就會出問題。
b.咱們有時候明明<dependency>沒寫錯,卻恰恰各類報錯,能夠刪掉本地對應的jar,從新下載,就ok了。
十一、學習建議:mvn這個東西,就是難者不會,會者不難。基本上按照這樣一個路線就問題不大,基本使用 => 瞭解繼承/聚合 => 瞭解jar包衝突機制,並解決衝突 =>瞭解mvn的3個默認聲明週期 ,生命週期的各個階段phase ,各個階段的目標goal => mvn的插件開發 => Nexus私服搭建及其使用。大體這樣一個過程下來,就能很是熟悉mvn,若是在稍微看看mvn的源碼,大體看一看,基本上能夠說是精通mvn了。
《Nexus3.x.x上傳第三方jar》參考:http://blog.csdn.net/iopfan/article/details/71107686
轉:http://www.cnblogs.com/dreamroute/p/5440419.html