Maven实战(十)利用 Nexus 来构建企业级 Maven 仓库
目录
一、简介
Nexus是Maven仓库管理器,用来搭建一个本地仓库服务器,这样做的好处是便于管理,节省网络资源,速度快,还有一个非常有用的功能就是可以通过项目的SNAPSHOT版本管理,来进行模块间的高效依赖开发
一、为什么要用Nexus
虽然可以通过中央仓库来获取我们所需要的jar包,但是现实往往是存在很多问题:
网速慢,我们可能需要花很长的时间来下载所需要的jar
如果我们的公司很大,有几百甚至几千人在用Maven,那么这些人都去通过中央仓库来获取jar,那么这是一个很大的资源浪费
如果存在模块之间的依赖开发,我们的伙伴就不能很方便的获取快照版本。
在实际开发过程中,有些jar的版本可能在中央仓库里面不存在,或者更新不及时,我们是获取不到这个jar的。
所有以上问题,可以通过Nexus解决。
这个仓库是本地的,下载的速度是从远程下载不可比的。
它可以为我们公司的所有Maven使用者服务,进行统一管理
它能很好的帮我们进行存在模块依赖的项目的开发
可以添加自己的第三方包
二、下载与安装
下载地址:http://www.sonatype.org/nexus/go
执行命令:
cd C:\nexus\nexus-2.0.4\bin\jsw\windows-x86-64\
安装:install-nexus.bat
启动: start-nexus.bat
三、登录和修改密码
访问:http://localhost:8081/nexus
点击右上角登录,用户名/密码:admin/admin123
按如下图所示修改密码 
四、搜索jar和仓库介绍
可以在搜索栏搜索想要的jar包和pom,点击repositories可以看到当前的仓库
以Maven中心仓库为例,下图是仓库信息的简介

五、自定义仓库
如下图点击add->hosted Repository

输入Repository id和Repository name然后点击save即可
成功后将会在仓库列表中显示
六、上传jar到仓库
上一步新建了仓库名为test,点击test,在Artifact Upload中填写内容如下图,并上传jar包,点击提交即可

七、组合仓库
在仓库列表中有一个名叫Public Repositories的仓库,该仓库是由多个仓库组合而成,客户端将会默认使用Public 仓库里面的jar包,这个Public 仓库是可以进行配置的,如下图,将右边的仓库移到左边,则该仓库将变为可用的。

八、代理第三方仓库
添加Proxy仓库可以代理第三方的仓库,以便扩大私服的jar包索引
Maven实战(十)利用 Nexus 来构建企业级 Maven 仓库的更多相关文章
- Maven之Nexus构建企业级Maven仓库
什么是Nexus? Nexus是Maven仓库管理器,用来搭建一个本地仓库服务器,这样做的好处是便于管理,节省网络资源,速度快,还有一个非常有用的功能就是可以通过项目的SNAPSHOT版本管理,来进行 ...
- Maven实战读书笔记(二):Maven坐标与仓库
2.1 Maven坐标 Maven坐标是Maven用来表示一个组件依赖的标示. Maven通过下面几个元素定义坐标:groupId.artifactId.version.packaging.class ...
- Maven实战读书笔记(一):Maven概述
1.1 Maven是什么,能做什么 Maven是一个跨平台的项目管理工具,主要服务于Java平台的项目构建.依赖管理和项目信息管理. Maven的用途之一是项目构建,能够自动化构建过程,从清理.编译. ...
- Maven实战(三)Eclipse构建Maven项目
1. 安装m2eclipse插件 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件 点击eclipse菜单栏Help->Eclipse Marketplac ...
- (转)Maven实战(三)Eclipse构建Maven项目
1. 安装m2eclipse插件 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件 点击eclipse菜单栏Help->Eclipse Marketplac ...
- Maven实战读书笔记(六):Maven灵活构建
Maven为了支持构建的灵活性,内置了3大特性,即:属性.Profile和资源过滤. 6.1 Maven属性 Maven的属性与Java代码的常量有异曲同工之妙,都是为了消除重复,对相关内容进行统一管 ...
- Maven实战读书笔记(四):Maven生命周期与插件
Maven的生命周期是对所有构建过程的抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几乎所有构建步骤. Maven的生命周期是抽象的,其实际行为是由插件来完成 ...
- 使用Maven那么久了,你对企业级Maven的核心配置了解多少?
写在前面 相信从事Java工作的小伙伴们多多少少都会接触到Maven.使用Maven来搭建项目,能够极大的方便我们构建项目的依赖关系,对于项目中需要依赖的Jar包,也只是简单的在pom.xml中进行配 ...
- Maven实战读书笔记(七):Maven常用功能
7.1.资源排除 <resources> <!-- 启动过滤,包含的文件会被过滤掉 --> <resource> <directory>src/main ...
随机推荐
- Extjs相关知识点梳理
store是一个为Ext器件提供record对象的存储容器,行为和属性都很象数据表 方法:不列举继承来的方法 Store( Object config ) 构造,config定义为{ autoLo ...
- 微信小程序登录方案
微信小程序登录方案 登录程序 app.js 调用wx.login获取code 将code作为参数请求自己业务登录接口获取session_key 存储session_key 如果有回调执行回调 App( ...
- springboot +element-axios跨域请求
1.初始化element项目 1.1:vue init webpage '项目名称' 1.2:npm i element-ui -S 1.3:在main.js添加 import ElementUI f ...
- 基于socket的简单p2p聊天项目
https://blog.csdn.net/Jacky_Can/article/details/74984822 https://blog.csdn.net/qq_20889581/article/d ...
- Q:链表的倒数第K个元素
问题:如何得到链表中的倒数第k个元素? 一种简单的思路是遍历链表一遍,并统计出链表中节点的数目,然后计算出倒数第k个元素到链表头节点的元素的距离,然后得到对应的结果.但是,我们能否有一种更加简便的 ...
- 解决文字和text-decoration:underline下划线重叠问题
一.text-decoration:underline下划线的问题 CSS text-decoration:underline可以给内联文本增加下划线,但是,如果对细节要求较高,就会发现,下划线经常会 ...
- java泛型详解(加一点语法糖)
首先请看如下代码: public class Test{ public static void main(String str[]) { Hashtable h =new Hashtable(); h ...
- js程序中美元符号$是什么(转)
$符号在php中是表示变量的特征字符, 在js中它也有很多作用, 一般我们用来命名一个函数名称,获取id的1.首先可以用来表示变量, 比如变量 var s='asdsd'或var $s='asdasd ...
- css中单位em和rem的区别
在css中单位长度用的最多的是px.em.rem,这三个的区别是: px是固定的像素,一旦设置了就无法因为适应页面大小而改变. em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定 ...
- 深度学习GPU集群管理软件 OpenPAI 简介
OpenPAI:大规模人工智能集群管理平台 2018年5月22日,在微软举办的“新一代人工智能开放科研教育平台暨中国高校人工智能科研教育高峰论坛”上,微软亚洲研究院宣布,携手北京大学.中国科学技术大学 ...