搭建Maven私服(使用Nexus)
摘要: 搭建私服可以做什么?
- 如果公司开发组的开发环境全部内网,这时如何连接到在互联网上的Maven中央仓库呢?
- 如果公司经常开发一些公共的组件,如何共享给各个开发组,使用拷贝方式吗?如果这样,公共库升级了怎么办? 当然可以解决的问题可能不止上面两点,下面来介绍在Linux中搭建自己的Maven私服,使用Nexus.
下载和安装
Nexus下载地址 下载包:nexus-2.14.4-03-bundle.tar.gz
解压包:tar zxvf nexus-2.14.4-03-bundle.tar.gz
默认端口为8081,如需修改请查看配置文件 conf/nexus.properties
它本身不建议在root用户下使用,如果我们需要在root用户下启动服务,要先配置 bin/nexus 文件中的 RUN_AS_USER=root
启动和配置
以上为Nexus
服务已经启动,访问页面:http://localhost:8081/nexus
localhost 为自己本机IP
登录默认账号/密码 admin/admin123
最频繁的就是点击左侧菜单栏的Repositories
按钮
-
一般用到的仓库种类是hosted,proxy
Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如Oracle驱动,比如商业软件jar
Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库,JBoss仓库等等
如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖,就回去远程中央仓库下载依赖,这些中央仓库就是proxy,代理站点下载成功后再下载至本机
其实Maven这个自带的默认仓库一般情况下已经够大多数项目使用了,特殊情况时在配置新的仓库,指定url即可
-
hosted
类型的仓库,内部项目的发布仓库 -
releases
内部的模块中release模块的发布仓库 -
snapshots
发布内部的SNAPSHOT模块的仓库 -
3rd party
第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去 -
proxy
类型的仓库,从远程中央仓库中寻找数据的仓库 -
group
类型的仓库,组仓库用来方便我们开发人员进行设置的仓库
maven
项目索引
下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能
打开Repositories
将列表中所有Type
为proxy
的项目的Configuration
中的Download Remote Indexes
设置为True
将
Releases
仓库的Deployment Policy
设置为Allow ReDeploy
然后在
Apache Snapshots
和Maven Centra
仓库上分别右键,选择Repari Index
,这样Nexus
就会去下载远程的索引文件,若干时间后,可以点击下边的Browse Index
即可看见下载的索引文件
以上为maven
私服的简单安装过程