<h4>1、私服简介:</h4>
私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。我总结下来有三点好处:1、减少对于外网的网络传输 2、提高开发效率 3、个性化定义自己的仓库
没有私服网络拓扑:
设置私服的网络拓扑:
<h4>2、搭建私服</h4>
下载安装包:https://www.sonatype.com/download-oss-sonatype
在最下面的时候选择包下载再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 结果如下:
到此搭建完成
<h4>3、私服常用配置</h4>
登录:
点击右上角的 Login 按钮,默认用户名和密码是:admin admin123
<b>a、代理仓库</b>
Apache Snapshots 和 Central 这两个默认的库都是代理类型,可以用于从中心仓库同步jar
<b>b、修改配置项,允许从远程download</b>
<b>c、手动执行 update</b>
<b>d、一段时间以后看download结果</b>
<b>e、添加一个自己的仓库</b>
选择存放的包是release还是snapshot
一般会新加一个xxx_snapshot 仓库 一个 xxx_release 仓库
<b>f、组的概念</b>
因为我们不同的包可以在不同的仓库里面,有的时候我想只引用一个仓库导致,怎么办?其实里面的具体的仓库内容是对外隔离的,这个时候就产生了组的概念
里面可以配置组里面的仓库,然后应用组所在的目录就可以啦
到此,搭建一个私服的主要工作差不多完成啦!!!