Nexus(一)环境搭建
昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建!
使用背景:
- 安装环境:Windows 10 -64位
- JDK版本:1.7
- Maven版本:3.0.4
- Nexus版本:2.11.4(伸手党福利【传送门】: https://pan.baidu.com/s/1pLJaTBH 密码: 39ce)
开始正题:
1.首先你的电脑要安装好JDK(我的JDK版本是1.7)
2.其次你的电脑要安装好Maven(我的Maven版本是3.0.4)
3.通过网盘下载,你会得到:nexus-2.11.4-01-bundle.tar.gz,把它解压到你的硬盘下,你会得到如下两个文件夹(下面是我的解压路径)
E:\nexus-2.11.4-01 和 E:\sonatype-work
(1)首先介绍一下:E:\nexus-2.11.4-01\bin\jsw 目录结构,这里存放的是各种环境下的 Nexus 安装程序,因为我的电脑上 Windows 10 -64 位系统,所以我选择 windows-x86-64

(2)下面介绍一下:E:\nexus-2.11.4-01\bin\jsw\windows-x86-64 目录下的这几个.bat 文件

console-nexus.bat //暂时不清楚是做什么的,没有使用过,如果有谁知道的可以留言:)
install-nexus.bat //安装 Nexus,据说会把 Nexus 当作 Windows 中的一个服务注册进行
uninstall-nexus.bat //卸载 Nexus,同样会把注册到 Windows 中的 Nexus 服务一同卸载
start-nexus.bat //启动 Nexus
stop-nexus.bat //停止 Nexus
注意:如果在双击执行文件后,提示报错信息:wrapper | OpenSCManager failed - 拒绝访问。 (0x5) 请使用管理员身份运行该类文件
(3)在 E:\sonatype-work 这个目录的 nexus 文件夹下是空的,但是千万不要小瞧它,也不要删除它!当 Nexus 启动后,这里就相当于是 Nexus 的工作空间,后面我会讲到。
4.执行install-nexus.bat,再执行start-nexus.bat,在浏览器中进行访问:http://localhost:8081/nexus 出现如下页面则表示Nexus搭建成功,!

右上角有个 Log In 可以进行登录,默认用户名和密码:admin/admin123
5.修改默认访问地址和端口号
很多情况下,你并不想让部署的 Nexus 环境占用 8081 端口,那如何进行修改呢?这时候就要在 E:\nexus-2.11.4-01\conf 下找到 nexus.properties 文件,
修改里面的内容如下图,并进行重启后再进行登录即可。


6.Nexus 中的 Respositories

(1)如果执行了第5步,现在就可以看到 Respositories Path 都根据 nexus.properties 中的配置生效了,是不是很爽?为啥?因为可以进行域名配置:)
(2)下面根据我自己的分类总结一下对 Respository 的理解:
Public Respositories //可以把它理解成是一个集合,如果你的地址指向 Public,例如 maven {url 'http://192.168.X.X:XXXX/nexus/content/repositories/public/'},
它的检索路径会包括:3rd party、Releases、Snapshots
3rd party //存放第三方的资源
Releases //存放已经发布的正式版本的资源
Snapshots //存放未正式发布版本的资源
Central //存放Maven中央库中的索引列表,为了能快速找寻资源
(3)上面我提到过:E:\sonatype-work 下的 nexus 目录,现在你可以进入到目录 E:\sonatype-work\nexus\storage,会出现如下图所示目录结构:

是不是发现这里的目录名称其实都对应了上图中的 Respositories ? 没错,当你下载或上传资源时,其实这些资源就存在于对应的目录结构下,值得注意的是:thirdparty 目录对应 3rd party
(4)每个 Respository 都有对应的 Configuration 在里面可以自定义一些配置信息,以 Releases 举例,如下图:

需要注意的是:一般都会对 Deployment Policy 设置为 Allow Redeploy,据说跟“发布策略”有关系,我没有具体测试过,还不确定具体用法,但是设置了也没啥坏处。
6.Nexus 中的新建一个 Proxy Respository
(1)由于网络原因,使用官方的 maven2 仓库会很蛋疼,但我们又需要强大的中央仓库,怎么办? 那我们新建个代理去连阿里云Maven仓库,
因为它已经对官方的 maven2 仓库进行过同步了,不多说,下面介绍如何连接,点击 Add -> Proxy Repository,创建一个 Respository。

(2)默认会生成一个名叫 New Proxy Repository 的配置,只需要将红框内的部分填写完毕即可,
其中 Remote Storage Location 设置阿里云Maven地址:http://maven.aliyun.com/nexus/content/groups/public

(3)点击 Save 保存后,刷新下页面,设置下 Public Repositories 的 Configuration 中的组别排序,如下图所示
这样,当我们需要去下载一些资源时,会按照如下箭头所示顺序进行查找,相当于拿 aliyun maven 做了一层对 Central 的拦截,实在找不到才会在 Central 中进行查找,这样就不蛋疼了:)

PS:总结一下,其实 Nexus 能提供的功能远远不止这些,这只是凤毛麟角,但是掌握这些基本知识是必要的,以后需要循序渐进的学习和补充。
Nexus(一)环境搭建的更多相关文章
- 【转】nexus Maven 环境搭建
http://www.cnblogs.com/quanyongan/archive/2013/04/24/3037589.html 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组 ...
- windows+nexus+maven环境搭建(转)
windows nexus环境搭建 1.下载nexus 版本为 nexus-2.11.4-01-bundle 下载地址 这里写链接内容 2.将下载好的文件放到D盘进行解压 3.解压后目录结构 nexu ...
- Nexus私服的搭建
1.nexus 介绍 是开源的,用该框架架设maven私有服务器 2.nexus私服环境搭建 把nexus.war包放到tomcat的webapps下面 浏览且登录 ...
- Centos 基础开发环境搭建之Maven私服nexus
hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件 ...
- Maven仓库—Nexus环境搭建及简单介绍
1. 环境搭建 1.1 下载 http://www.sonatype.org/nexus/ NEXUS OSS [OSS = Open Source Software,开源软件--免费] NE ...
- [原]项目进阶 之 持续构建环境搭建(二)Nexus私服器
上一篇博文项目进阶 之 持续构建环境搭建(一)架构中,我们大致讲解了一下本系列所搭建环境的基本框架,这次开始我们进入真正的环境搭建实战.重点不在于搭建的环境是否成功和完善,而是在搭建过程中充分认识到每 ...
- [置顶] 项目进阶 之 持续构建环境搭建(二)Nexus私服器
上一篇博文项目进阶 之 持续构建环境搭建(一)架构中,我们大致讲解了一下本系列所搭建环境的基本框架,这次开始我们进入真正的环境搭建实战.重点不在于搭建的环境是否成功和完善,而是在搭建过程中充分认识到每 ...
- Maven仓库-Nexus环境搭建及简单介绍
1. 环境搭建 1.1 下载 http://www.sonatype.org/nexus/ NEXUS OSS [OSS = Open Source Software,开源软件——免费] NE ...
- Jenkins+Maven+Gitlab+Nexus持续集成环境搭建
1.软件及服务介绍 Jenkins:jenkins是实现代码自动化流程上线的工具,Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个 ...
随机推荐
- 页面嵌入dom与被嵌入iframe的攻防
1.情景一:自己的页面被引入(嵌入)至别人的页面iframe中 if(window.self != window.top){ //url是自己页面的url window.top.location.hr ...
- [原] KVM 虚拟化原理探究(1)— overview
KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...
- 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- 在.NET Core 里使用 BouncyCastle 的DES加密算法
.NET Core上面的DES等加密算法要等到1.2 才支持,我们可是急需这个算法的支持,文章<使用 JavaScriptService 在.NET Core 里实现DES加密算法>需要用 ...
- shell变量
定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名 ...
- load和initialize方法
一.load 方法什么时候调用: 在main方法还没执行的时候 就会 加载所有类,调用所有类的load方法. load方法是线程安全的,它使用了锁,我们应该避免线程阻塞在load方法. 在项目中使 ...
- node中的Stream-Readable和Writeable解读
在node中,只要涉及到文件IO的场景一般都会涉及到一个类-Stream.Stream是对IO设备的抽象表示,其在JAVA中也有涉及,主要体现在四个类-InputStream.Reader.Outpu ...
- redis成长之路——(二)
redis操作封装 针对这些常用结构,StackExchange.Redis已经做了一些封装,不过在实际应用场景中还必须添加一些功能,例如重试等 所以对一些常功能做了一些自行封装SERedisOper ...
- Android之SQLite数据存储
一.SQLite保存数据介绍 将数据库保存在数据库对于重复或者结构化数据(比如契约信息)而言是理想之选.SQL数据库的主要原则之一是架构:数据库如何组织正式声明.架构体现于用于创建数据库的SQL语句. ...
- Android之SAX解析XML
一.SAX解析方法介绍 SAX(Simple API for XML)是一个解析速度快并且占用内存少的XML解析器,非常适合用于Android等移动设备. SAX解析器是一种基于事件的解析器,事件驱动 ...