搭建Maven私服(使用Nexus)

来源:互联网 发布:php 笛卡尔乘积算法 编辑:程序博客网 时间:2024/05/22 15:57

摘要: 搭建私服可以做什么?

  • 如果公司开发组的开发环境全部内网,这时如何连接到在互联网上的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 将列表中所有Typeproxy 的项目的 Configuration 中的 Download Remote Indexes 设置为True
这里写图片描述

Releases仓库的Deployment Policy设置为Allow ReDeploy

这里写图片描述

然后在Apache SnapshotsMaven Centra仓库上分别右键,选择Repari Index,这样Nexus就会去下载远程的索引文件,若干时间后,可以点击下边的 Browse Index 即可看见下载的索引文件

这里写图片描述


以上为maven私服的简单安装过程

原创粉丝点击