准备工作:
1.linux服务器上需安装jdk(非yum下来的open_jdk!!!,版本1.8以上)
2.linux服务器上需安装maven(如不会,请点击链接,maven版本自己喜欢就好)
准备工作就绪,接下来便正式开始:
1.下载nexus安装包
nexus地址为:http://www.sonatype.org/nexus/go
不过因为是外网,所以下载特别慢,而且还容易失败,这里便提供一下网盘资源地址,方便下载:
链接: https://pan.baidu.com/s/1T1yh2XzZ8YZ5uEl48_r1bQ 提取码: w3x4
下载好后,通过Xshell等工具,将安装包上传至linux服务器即可。
建立文件夹,存放nexus安装包:
cd /usr/local/
mkdir nexus
cd nexus/
上传文件至文件夹即可。
2.解压nexus安装包
tar -zxvf nexus-3.23.0-03-unix.tar.gz
解压后会有两个文件夹:
nexus-3.23.0-03:是nexus的核心文件
sonatype-work :maven下载jar存放地址
进入第一个文件夹:
cd nexus-3.23.0-03
执行命令启动nexus:
./bin/nexus start
这时,可能会提示你启动失败,因为是root用户登录,而nexus官方是不推荐用root进行登录的,所以需要设置一下。
网上普遍版本都是2.X的,所以和现在的配置会有差别,以下为本次3.X的配置:
vi bin/nexus
找到如下位置,改成与图片相同即可,原本为true,禁止root用户访问改为false即可。
然后我们再次启动:
./bin/nexus start
这次应该就可以正常启动了,启动后我们可以查看一下状态:
./bin/nexus status
这便表示启动成功了。
3.nexus其他配置
nexus默认端口为8081,如果想要修改的话,需进入etc文件夹:
找到nexus-default.properties文件,进行vi操作:
vi nexus-default.properties
修改端口后,restar即可。
4.访问nexus
如果是本地linux,则访问http://localhost:8081(端口号根据自己的来),如果是其他服务器,则ip+端口。
如果访问失败的话,把防火墙关了,或者开放8081端口即可。
关闭防火墙指令:
service iptables stop
访问成功的页面如图:
点击右上角sign in进行登录,因为版本不同,密码需要自己获取,用户名为:admin
密码在路径下文件中,需要自己查看:/nexus-data/admin.password
登录后会让你修改密码,然后就ok了。
5.nexus创建maven私服
在创建 repository之前,还是需要先设定一个指定的文件存储目录,便于统一管理。
点击确定,目录便创建好了。
之后创建库了,请自己读下面的话,我会用白话文写,以为之前参考别人的真的特别懵,我希望我的读者不会这样:
按下图顺序点击创建repositories:
找到如下三个:
先来说一下区别:
proxy:是代理,可以设置多个,国内的:华为、阿里,国外的:maven2等等,指的是如果你当前私服没有可用jar,需要去哪下载。
hosted:本地的,指代当前私服。存放你上传的第三方jar、已下载的jar等。
group:管理本地和代理(以上两个)
配置顺序:先配置proxy和hosted,最后配置group管理他们。
配置proxy:按照上图选择proxy:
点击保存即可。
再次新建repositories,选择hosted:
点击保存即可。
再次新建repositories,选择group:
顺序需要注意,如果你需要引入依赖,他会先从你当前maven私服去找,如果没有去国内的代理源进行下载,如过还没有,则去国外maven总库下载。
完成后可与迷人仓库进行对比
图为默认,如果你的代理状态不是准备连接,则需要查看你的代理地址是否正确,在这里我栽了两次坑。。。
6.本地引用
我是在项目中引用的,格式如下
<repositories>
<repository>
<id>nexus</id>
<name>nexus repository</name>
<url>自己的group地址</url>
</repository>
</repositories>
group地址获取如下:
copy下来的便是group地址。只有便可以正常使用了。
本地maven库中引用,还需自行百度,因为本地maven版本太多。
7.上传第三方jar
点击upload
选择你自己的hosted(自己建立的hosted)
如下图操作:
便可成功添加,进行引用即可。
以上为本人参考多处资料进行搭建的步骤,作为公司的项目maven私服,本人新手小白,如有不足,还望各位大佬告知。
谢谢。