一、什么是Nexus
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。
Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。
Nexus 使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。Nexus支持WebDAV与LDAP安全身份认证。
二 安装
由于nexus目前官网上(https://help.sonatype.com/repomanager3/download)已经很难下载了,除非翻墙,故整理了一下目前最新版本的分享一下,有需要的欢迎下载。
Nexus 是用来搭建 Maven 私服的,可以说是最好的免费工具了,它的官网上是这样说的:“世界上第一个也是唯一的免费使用的仓库解决方案”。目前的最新版本是 OSS 3.x。提供了针对 Windows、Unix、OS X 三种系统的版本。
这里只简单说明 Linux 下的安装方式,如果是下载的最新版本,它对系统内存和 jdk 版本是有要求的,要求内存大于4G,jdk 最低是1.8版本。
下载包,并解压缩,运行命令
1、tar -zxvf nexus-version-unix.tar.gz
2、进入 nexus-version/bin/`` 目录,执行命令./nexus start`
3、访问 默认的 8081 端口即可
没错,就是这么简单。
通常情况下,以上三步就可以完成安装,如果有问题,并且提示“ NOT RECOMMENDED TO RUN AS ROOT ”,可以通过修改 /bin/nexus 文件,在其中加入 RUN_AS_USER=root ,然后重新启动即可。
三 初识 Nexus
当我们通过地址,在浏览器上访问 nexus 的首页,是下图这样子的:
查看密码
cat /usr/local/var/nexus/admin.password
或者
cat /opt/sonatype-work/nexus3/admin.password
默认的账号名是 admin,密码是 再这个文件里**/nexus-data/admin.password**。管理员登录后,可以在设置页面管理角色、用户等其他一系列的操作。例如创建一个角色,给角色设置某一仓库的管理权限,然后向这个角色中添加人员。具体操作不做过多介绍,一看就明白。
管理员还可以管理仓库,不过一般来说,默认的那几个仓库就可以了。默认有如下几个仓库:
Nexus仓库类型介绍
proxy:这是代理方式,它是用来代理中央仓库的,例如我们依赖的包在本地仓库没有,就会到私服获取,私服没有的话,会到中央仓库先把包下载到这里,然后再下载到本地仓库;
hosted:指的是我们公司或团队内部的包,并且 hosted 类型的仓库会分为 releases 和 snapshots 两个,前者是正式版,后者一般是开发测试版;
group:它的目的就是把多个仓库组合起来,然后我们项目中只需要配置上这个类型的仓库地址,就可以把它里面组合的几个仓库都关联上。
三、nexus的配置
3.1登录后开始设置操作
3.1.1设置新密码
3.1.2配置匿名访问
3.2设置 proxy 代理仓库
默认仓库有哪些呢?
maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
maven-releases:私库发行版
maven-snapshots:私库快照(调试版本)
maven-public:仓库分组(把上面三个仓库组合在一起对外提供服务)
自己也可以选择仓库类型进行创建
nexus仓库类型主要分为三种
proxy 远程代理仓库jar放置的目录
hosted 本地仓库jar放置的目录,我们一般部署自己的jar到这个类型的仓库
group远程代理仓库jar和本机仓库jar
私有仓库(hosted)不用创建 , 使用原有的 maven-releases 和 maven-snapshots即可。
由于maven中央仓库太慢了,