<h4>1、私服簡介:</h4>
私服是架設在局域網的一種特殊的遠程倉庫,目的是代理遠程倉庫及部署第三方構件。我總結下來有三點好處:1、減少對于外網的網絡傳輸 2、提高開發效率 3、個性化定義自己的倉庫
沒有私服網絡拓撲:
162358583957595.png
設置私服的網絡拓撲:
162359096298261.png
<h4>2、搭建私服</h4>
下載安裝包:https://www.sonatype.com/download-oss-sonatype
Paste_Image.png
在最下面的時候選擇包下載再ftp上傳到服務器上面:
<pre>
tar -xzvf nexus-2.13.0-01-bundle.tar.gz
[mysql@localhost ~]$ cd nexus-2.13.0-01/bin/
[mysql@localhost bin]$ ls
jsw nexus nexus.bat
//最后執行啟動腳本
./nexus
</pre>
這邊需要注意了很有可能啟動失敗,所以一般啟動的時候帶 <b>./nexus console</b> 輸出啟動的log
這邊一般會出現2個問題,分享一下解決方案:
1、 jvm 1 | wrapper | Unable to start JVM: No such file or directory
這應該是maven找不到jdk里面的java文件路徑,需要修改/home/nexus-2.13.0-01/bin/jsw/conf/wrapper.conf 文件的jdk路徑:
<pre>
wrapper.java.command=/usr/local/jdk/java //默認是java
</pre>
2、Caused by: java.nio.file.AccessDeniedException: /home/mysql/sonatype-work/
這樣的話應該是沒有文件修改的權限,解決方案為切換到root賦予權限:
<pre>
sudo chmod -R 777 sonatype-work/
</pre>
解決問題以后查看正常啟動輸出日志,發現已經能正常啟動啦:
<pre>
jvm 1 | 2016-09-13 05:36:28,543-0700 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - Running
</pre>
最后在瀏覽器中輸入:http://localhost:8081/nexus 結果如下:
QQ截圖20160913203915.png
到此搭建完成
<h4>3、私服常用配置</h4>
登錄:
點擊右上角的 Login 按鈕,默認用戶名和密碼是:admin admin123
<b>a、代理倉庫</b>
Paste_Image.png
Apache Snapshots 和 Central 這兩個默認的庫都是代理類型,可以用于從中心倉庫同步jar
<b>b、修改配置項,允許從遠程download</b>
Paste_Image.png
<b>c、手動執行 update</b>
Paste_Image.png
<b>d、一段時間以后看download結果</b>
Paste_Image.png
<b>e、添加一個自己的倉庫</b>
Paste_Image.png
選擇存放的包是release還是snapshot
Paste_Image.png
一般會新加一個xxx_snapshot 倉庫 一個 xxx_release 倉庫
<b>f、組的概念</b>
因為我們不同的包可以在不同的倉庫里面,有的時候我想只引用一個倉庫導致,怎么辦?其實里面的具體的倉庫內容是對外隔離的,這個時候就產生了組的概念
Paste_Image.png
里面可以配置組里面的倉庫,然后應用組所在的目錄就可以啦
Paste_Image.png
到此,搭建一個私服的主要工作差不多完成啦!!!