如何在云服务器创建maven私有仓库
Posted levontor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在云服务器创建maven私有仓库相关的知识,希望对你有一定的参考价值。
参考链接:https://blog.csdn.net/silence_jjj/article/details/77531916
nexus3创建maven私有仓库(windows)
1.官网:https://www.sonatype.com/download-oss-sonatype
2、解压nexus3的zip包,找到\\nexus-3.3.1-01\\bin文件夹,shift+右键 -> 在此处打开命令窗口
3、在cmd中输入 nexus.exe/run ,然后回车
4、等待几分钟后,控制台出现“Started Sonatype Nexus OSS 3.3.1-01”表示启动成功,并且在bin文件夹下生成“nexus.vmoptions”文件,该文件为配置文件。
5、打开浏览器,访问http://localhost:8081/ 默认8081端口。
安装成功。安装成功后就是怎样去使用。
使用教程参考: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
显示界面:
repositorie有三种类型(这里是两套说法 我都放进来有助于理解)
group:是一个仓库组,可包含hosted和proxy两种库,下载时按配置顺序从中依次查找
hosted:内部库,部署内部项目的jar包,或第三方的私有的jar包
proxy:代理远程仓库,maven-central是默认maven中央仓库代理,通过代理从远程库中下载的依赖都会被缓存到proxy库中
【代理资源库】proxy:当用户向proxy请求一个资源时,proxy会先在本地仓库中寻找是否有该资源,没有的话会从远程仓库下载,然后返回给用户;同时会缓存在本地,下次用户再请求相同资源时,就可以直接在本地中找到并返回给用户。proxy起到一层缓存与中转的作用。
【托管资源库】hosted:专门存放无法从远程仓库中下载的构件或者公司内部自主开发的一些构件。当hosted仓库找不到目标构件时,并不能从远程仓库下载。并且想要将内部开发构件上传到maven仓库,三种仓库中只能使用hosted。
【组资源库】group:从上面①+②看出来,其实组资源库中并没有jar包,而是把代理资源库和托管资源库统一配置到组资源库中,然后组资源库作为一个唯一的public提供给所有人使用。
9、创建repository
①在创建 repository之前,还是需要先设定一个指定的文件存储目录,便于统一管理。(当然了如果只想用默认的,可以忽略创建)
创建完成后的显示以及磁盘显示:
②第二步,创建Proxy Repository 代理资源库
首先我们要创建的就是阿里的maven代理仓库,默认的中央仓库代理maven-central连接的是国外的库,连接很慢,阿里云仓库是国内的库连接速度快,需要创建阿里云代理库。
可以看到在创建时,有三部分需要我们必须填写。
在具体配置页面取名aliyun-repository,这里建议用a开头(估计按字母排序将它排第一位)。
URL输入:http://maven.aliyun.com/nexus/content/groups/public/
Blob store:选择刚才创建的或者我们比较讨厌创建,那么就直接默认就可以。
创建完了可不要就认为完事了,还有一步,就是将创建的阿里云仓库置顶。
点进去:
通过绿色框将我们的配置文件挪到右上角
这样就算是完成了。
给大家一些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:混合的
④第四步,创建group repository 组资源库
注意顺序: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私有仓库的主要内容,如果未能解决你的问题,请参考以下文章
云效 Flow——Java构建并通过云效上传二方库到 Maven 私有仓库
新功能|如何打造一个高可用多租户的企业级Maven私有仓库服务