nexus3创建maven私有仓库(windows)

1.官网:https://www.sonatype.com/download-oss-sonatype

 

maven repository带用户名密码 maven私库默认账号密码_资源库

2、解压nexus3的zip包,找到\nexus-3.3.1-01\bin文件夹,shift+右键 -> 在此处打开命令窗口

maven repository带用户名密码 maven私库默认账号密码_maven_02

3、在cmd中输入 nexus.exe/run ,然后回车

4、等待几分钟后,控制台出现“Started Sonatype Nexus OSS 3.3.1-01”表示启动成功,并且在bin文件夹下生成“nexus.vmoptions”文件,该文件为配置文件。

maven repository带用户名密码 maven私库默认账号密码_资源库_03

 

 

maven repository带用户名密码 maven私库默认账号密码_maven_04

5、打开浏览器,访问http://localhost:8081/ 默认8081端口。

maven repository带用户名密码 maven私库默认账号密码_远程仓库_05

安装成功。安装成功后就是怎样去使用。

使用教程参考:https://m.aliyun.com/yunqi/articles/319799

6、配置nexus和熟悉它

第一步,跟随着说明文档,看看下载nexus下来之后,有两个目录

这里就参考源文档即可。

不详细讲解。

如何改变端口号也在此处,就是nexus-default.properties文件中,更改端口号。

7、登陆

在浏览器上输入地址:http://127.0.0.1:8081/ 打开nexus管理页面

默认登录是游客身份:anonymous,可以查看仓库并下载依赖,但不能配置nexus

使用管理员身份登录,帐号:admin,密码:admin123

8、管理repository

首先按照下图找到repository

maven repository带用户名密码 maven私库默认账号密码_远程仓库_06

 显示界面:

 

maven repository带用户名密码 maven私库默认账号密码_远程仓库_07

repositorie有三种类型(这里是两套说法 我都放进来有助于理解)

group:是一个仓库组,可包含hosted和proxy两种库,下载时按配置顺序从中依次查找

hosted:内部库,部署内部项目的jar包,或第三方的私有的jar包

proxy:代理远程仓库,maven-central是默认maven中央仓库代理,通过代理从远程库中下载的依赖都会被缓存到proxy库中

 

【代理资源库】proxy:当用户向proxy请求一个资源时,proxy会先在本地仓库中寻找是否有该资源,没有的话会从远程仓库下载,然后返回给用户;同时会缓存在本地,下次用户再请求相同资源时,就可以直接在本地中找到并返回给用户。proxy起到一层缓存与中转的作用。

【托管资源库】hosted:专门存放无法从远程仓库中下载的构件或者公司内部自主开发的一些构件。当hosted仓库找不到目标构件时,并不能从远程仓库下载。并且想要将内部开发构件上传到maven仓库,三种仓库中只能使用hosted。

【组资源库】group:从上面①+②看出来,其实组资源库中并没有jar包,而是把代理资源库和托管资源库统一配置到组资源库中,然后组资源库作为一个唯一的public提供给所有人使用。

maven repository带用户名密码 maven私库默认账号密码_远程仓库_08

 

9、创建repository

①在创建 repository之前,还是需要先设定一个指定的文件存储目录,便于统一管理。(当然了如果只想用默认的,可以忽略创建)

maven repository带用户名密码 maven私库默认账号密码_maven_09

maven repository带用户名密码 maven私库默认账号密码_资源库_10

 

创建完成后的显示以及磁盘显示:

maven repository带用户名密码 maven私库默认账号密码_远程仓库_11

maven repository带用户名密码 maven私库默认账号密码_远程仓库_12

②第二步,创建Proxy Repository  代理资源库

首先我们要创建的就是阿里的maven代理仓库,默认的中央仓库代理maven-central连接的是国外的库,连接很慢,阿里云仓库是国内的库连接速度快,需要创建阿里云代理库

maven repository带用户名密码 maven私库默认账号密码_maven_13

maven repository带用户名密码 maven私库默认账号密码_远程仓库_14

maven repository带用户名密码 maven私库默认账号密码_远程仓库_15

可以看到在创建时,有三部分需要我们必须填写。

在具体配置页面取名aliyun-repository,这里建议用a开头(估计按字母排序将它排第一位)。

URL输入:http://maven.aliyun.com/nexus/content/groups/public/

Blob store:选择刚才创建的或者我们比较讨厌创建,那么就直接默认就可以。

创建完了可不要就认为完事了,还有一步,就是将创建的阿里云仓库置顶。

maven repository带用户名密码 maven私库默认账号密码_远程仓库_16

点进去:

maven repository带用户名密码 maven私库默认账号密码_maven_17

通过绿色框将我们的配置文件挪到右上角

 

maven repository带用户名密码 maven私库默认账号密码_远程仓库_18

这样就算是完成了。

 

给大家一些maven远程仓库的地址:

jboss的maven中央仓库地址:http://repository.jboss.com/maven2/

阿里云的maven中央仓库地址:http://maven.aliyun.com/nexus/content/groups/public/

apache的maven中央仓库地址:http://repo.maven.apache.org/maven2/

③第三步,创建hosted repository 托管资源库

这其实和上面都差不多:

Hosted有三种方式,Releases、SNAPSHOT、Mixed
Releases: 一般是已经发布的Jar包
Snapshot: 未发布的版本
Mixed:混合的

maven repository带用户名密码 maven私库默认账号密码_maven_19

maven repository带用户名密码 maven私库默认账号密码_远程仓库_20

④第四步,创建group repository  组资源库

maven repository带用户名密码 maven私库默认账号密码_远程仓库_21

maven repository带用户名密码 maven私库默认账号密码_资源库_22

注意顺序:hosted与proxy的顺序

官方文档中建议:

 It is recommended practice to place hosted repositories higher in the list than proxy repositories. For proxy repositories, the repository manager needs to check the remote repository which will incur more overhead than a hosted repository lookup.

希望将hosted repositories【托管资源库】的顺序放在proxy repositories【代理资源库】之前,因为一个group【组资源库】中可以涵括这些托管资源库和代理资源库。而一整个的group是作为一个public,一个接口给别人使用的。所以当查找架包的时候,如果代理资源库在前面,那就是先从远程去查找jar,而不是先从托管资源库(本地仓库)去查找是否有jar。这样访问外网的消耗比起来在本地查找,当然是将托管资源库放在代理资源库之前的优先位置了。

⑤第五步,比较nexus中默认提供的

好吧,从命名上也可以看出来,系统自带的命名可以看出来这个资源库是什么类型中的什么类型的。

maven repository带用户名密码 maven私库默认账号密码_maven_23