一、Nexus介绍这篇文章主要介绍了Linux搭建自己Nexus私服的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
对maven来说仓库分为两类:本地仓库和远程仓库,有三种专门的Maven仓库管理软件可以用来帮助我们建立私服:chiva、Artifactory和Nexus。Nexus是当前最流行的Maven仓库管理软件。Nexus包含了各种类型的仓库的概念,包括代理仓库、宿主仓库、仓库组等。每一种仓库都提供了丰富实用的配置参数,方便用户根据需要进行定制。
二、部署Nexus所需环境1、Linux版本Nexus下载1、Linux系统
2、JDK1.8
3、Maven
Nexus官网下载地址由于官网是国外网站,下载速度属实慢的一批,建议还是百度云下载
https://www.sonatype.com/download-oss-sonatype
这是百度云下载地址
2、上传压缩包至服务器并对其进行解压具体步骤个人习惯将下载的软件放在 /usr/local/… 目录下
1、进入到local目录
[root@VM-8-4-centos /]# cd usr/local
2、新建nexus目录
[root@VM-8-4-centos local]# mkdir nexus
3、进入到nexus目录
[root@VM-8-4-centos local]# cd nexus
4、使用rz指令上传压缩包
[root@VM-8-4-centos nexus]# rz
5、耐心等待上传完成后进行解压
[root@VM-8-4-centos nexus]# tar -zxvf nexus-3.31.1-01-unix.tar.gz
6、解压完会有两个文件夹
[root@VM-8-4-centos nexus]# ls nexus-3.31.1-01 sonatype-work
3、修改Nexus端口(默认为8081)nexus-3.31.1-01:用于实现 nexus 功能
sonatype-work:用于存储数据
4、开放防火墙 或 在服务器安全组添加开放端口默认端口是 8081,如果要修改,可以在 sonatype-work/nexus3/etc 目录下的 nexus.properties 配置文件,将 application-port 配置成你要的端口号即可
打开防火墙配置文件
vim /etc/sysconfig/iptables
添加开放端口:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8090 -j ACCEPT
重启防火墙服务
service iptables restart5、修改启动文件 6、启动Nexus服务
start命令启动(后台进程形式)
在 /usr/local/nexus/nexus-3.31.1-01/bin 目录下,执行脚本命令,以后台进程的形式(不占用当前命令终端窗口),启动 Nexus 服务:
./nexus start7、浏览器访问Nexus的Web端首页,输入Linux服务器ip:8081
三、登录并初始化Nexus控制台 1、登录,输入账号、密码:看到这两个页面,说明 Nexus 服务已经启动成功了!!!接下来进行其他的配置
注意:
有些 Nexus 的版本中,是有默认配置的账号(admin)、密码(admin123)的,如果登录失败的话,可以在 sonatype-work/nexus3 目录下 的 admin.password 文件中查看初始化密码。
进入 admin.password 文件所在目录
cd /usr/local/nexus/sonatype-work/nexus3
查看 admin.password 文件文本内容
cat admin.password
或
vi admin.password
或
vim admin.password
出来的一串字符就是我们登录的密码
| 仓库名 | 描述 |
|---|---|
| maven-central | maven中央库,默认从https://repo1.maven.org/maven2/拉取jar |
| maven-releases | 私库发行版jar |
| maven-snapshots | 私库快照(调试版本)jar |
| maven-public | 仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用 |
| 类型 | 描述 |
|---|---|
| group(仓库组类型) | 用于方便开发人员自己设定的仓库 |
| hosted(宿主类型) | 内部项目的发布仓库(内部开发人员,发布上去存放的仓库) |
| proxy(代理类型) | 从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径) |
| virtual(虚拟类型) | 虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用) |
四、创建仓库Maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件,为了方便,Maven可以从仓库组下载构件,而仓库组并没有实际的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容)
经过上面对仓库的一些了解,接下来我们进行创建仓库,分为是 代理仓库(proxy) 、宿主仓库(hosted) 、仓库组(group) ,点击主页上面的小螺丝然后在选择 Repositories 进入仓库管理列表,然后就可以开始创建我们的仓库啦,选择仓库类型的时候一定要选择 maven2
我们使用阿里的中央仓库
https://maven.aliyun.com/repository/central
完事之后直接滑到下面点击创建
这里可以创建 releases 和 snapshot 类型的仓库,这里就演示一种
④group仓库组同上一步样的操作
如:IDEA中,点击左上角的 File - Settings ,检索 maven 关键字,可以看到自己当前项目所引用的 maven 配置:
3、添加以下代码到 mirrors 标签中 用于拉取上传的 jar 包releases admin admin123 snapshots admin admin123
3、保存并关闭 settings.xml 文件 六、项目上传 .jar 依赖包 到自定义的Nexus仓库 xxx-nexusmaven-central * my maven resp http://172.156.189.888:8888/repository/maven-public/
找到需要上传.jar包的模块中的pom文件(项目全部jar包都要上传,则可以在项目最外层的pom.xml)中加入以下代码到 project 标签下
1、打开 IDEA 的 右侧的 Maven Projects 窗口,依次点击 左上角的 reimport图标、LifeCycle 下的 deploy 2、上传成功releases Nexus Release Repository http://172.156.189.888:8888/repository/maven-releases/ snapshots Nexus Snapshot Repository http://172.156.189.888:8888/repository/maven-snapshots/
这时nexus私服上也会出现我们的jar包
关于Nexus的部署到此结束,恭喜你又进步了一点点



