【Maven】Nexus3搭建Maven私有仓库及使用

Maven库

【Maven】Nexus3搭建Maven私有仓库及使用_第1张图片

remote repository:相当于公共的仓库,大家都能访问到,一般可以用URL的形式访问
local repository:存放在本地磁盘的一个文件夹,例如,windows上默认是C:\Users\{用户名}\.m2\repository目录

Remote Repository主要有3种:
中央仓库:http://repo1.maven.org/maven2/
私服:内网自建的maven repository,其URL是一个内部网址
其他公共仓库:其他可以互联网公共访问maven repository,例如 jboss repository等

repository里存放的都是各种jar包和maven插件。当向仓库请求插件或依赖的时候,会先检查local repository,如果local repository有则直接返回,否则会向remote repository请求,并缓存到local repository。也可以把做的东西放到本地仓库,仅供本地使用;或上传到远程仓库,供大家使用。

搭建私服

私服是一种特殊的远程Maven仓库,它是架设在局域网内的仓库服务,私服一般被配置为互联网远程仓库的镜像,供局域网内的Maven用户使用。

当Maven需要下载构件的时候,先向私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,同时缓存在私服之上,然后为Maven下载请求提供下载服务,另外,对于自定义或第三方的jar可以从本地上传到私服,供局域网内其他maven用户使用。

下载地址:

首先从Nexus官网下载地址中下载压缩吧,有两种版本,这里选择最新的Nexus3.

安装步骤:

解压缩后,压缩包这个路径下的nexus-default.properties文件们是用来配置访问端口的,默认8081。

【Maven】Nexus3搭建Maven私有仓库及使用_第2张图片

【Maven】Nexus3搭建Maven私有仓库及使用_第3张图片

接着,找到bin目录下nexus.exe文件,这个就是我们要用来安装的服务的文件:

【Maven】Nexus3搭建Maven私有仓库及使用_第4张图片

以管理员身份运行cmd,然后进入D:\Program Files\nexus-3.2.1-01-win64\nexus-3.2.1-01\bin这个目录下。

运行nexus.exe /install Nexus Service命令,这个时候服务列表里会出现对应的服务(记住一定要先在命令行中进入这个目录,在执行命令)

然后就可以启动这个服务,稍等一会时间,在浏览器中访问 http://localHost:8081/。

Nexus中预留了两个登陆账户,一个是admin,一个是anonymous。admin具有全部权限默认密码admin123;anonymous作为匿名用户,只具有查看权限。

登陆后,就能够得到这个页面

【Maven】Nexus3搭建Maven私有仓库及使用_第5张图片

几个库的说明:

maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
maven-releases:私库发行版jar
maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。

可以随意点一点看一看,大概功能就懂了,这里不予赘述。

接下来就要将本地的Maven和Nexus搭建的私服联系起来,这里需要用到Maven的setting.xml文件。这里使用局部setting.xml,就是C:\Users\Administrator\.m2\settings.xml。

首先在setting.xml文件中配置私服的账号密码,然后配置私服镜像,这里需要注意的是,如果该镜像仓库需要认证,则对相应的id在server中配置相应认证信息即可:

【Maven】Nexus3搭建Maven私有仓库及使用_第6张图片

创建新的工程,在其pom.xml文件中添加

【Maven】Nexus3搭建Maven私有仓库及使用_第7张图片

保存,console中会打印下载的结果:

【Maven】Nexus3搭建Maven私有仓库及使用_第8张图片

可以看到jar包是从私服上下载下来了的。

 

私服优点主要有:
节省外网宽带
加速Maven构建
部署第三方构件
提高稳定性、增强控制:原因是外网不稳定
降低中央仓库的负荷:原因是中央仓库访问量太大

 

【Maven】Nexus3搭建Maven私有仓库及使用_第9张图片

 

你可能感兴趣的:(Maven)