Nexus的安装与配置

仅以此文,献给陷入懒癌晚期的小伙伴们.

本文基于nexus 3.xx

.0. What?Why?When?Who?Where?

  Sonatype Nexus是一款maven仓库管理软件,有了它,你可以方便的搭建属于自己的maven私服。而通过搭建私服,可以带来几个显而易见的好处。 

- 节省外网带宽:以一个30人的项目小队为例,如果没有私服,所有的人在更新依赖时,都将从中央仓库去检查更新,这无疑增加了外网负担。 

- 方便内网协作:很多Team工作中会出现没有外网、不允许连接外网或者外网访问受限的情况。这时候总有那么1-2台机器是可以顺畅的连接外网的,如果在外网机器上搭建私服,再配以梯子。无疑方便又高效。 

- 组件共享:开发的公共组件,又不想上传到三方仓库怎么办,上传到私服,设定一个坐标便可以像其它依赖一样随时引用了。

.1.下载

  下载地址:http://www.sonatype.com/download-oss-sonatype 

  一般官方会提供两个包,一个安装板和解压版。可以根据自己的喜好选择喜欢的版本下载。这里我选择的是解压版的进行安装。 

  本文采用的是3.X版本,3.x版本增加了对docker、npm等仓库的支持,但遗憾的是暂时不支持手工upload构件,据说这个功能会在3.1之后支持。

.2.安装&配置

  [官方文档](http://books.sonatype.com/nexus-book/3.0/reference/install.html) 

  先决条件 : 配置好了 JDK , JDK的配置不在本文讨论范围 , 不赘述 。 
* 启动 * 

  解压下载的压缩包,打开命令行跳到指定解压目录下的 bin 目录下,执行./nexus /run(windows执行nexus.exe
/run
),然后经过一段时间的等待,当你发现控制台打印出Started Nexus Repository Manager 3.0.1-01这句话时,恭喜,Nexus已经安装成功。 

  访问 : http://localhost:8081,可以进入仓库页面。默认的用户名密码是admin/admin123,运行后会自动生成一个nexus工作目录sonatype-work,nexus下载的jar包会存放在sonatype-work/nexus/storage中。

* 停止 * 

  Ctrl+c即可

* 修改存储路径 * 

  可以通过修改bin/nexus.vmoptions文件修改数据存储路径、缓存路径等。

* 修改端口、ip * 

  如果要修改IP、端口等可以通过修改etc/org.sonatype.nexus.cfg文件进行修改。

* 仓库 * 

nexus的仓库类型分为以下几种:

  • group: 仓库组
  • hosted:宿主仓库
  • proxy:代理仓库

点击页面顶端的齿轮按钮->点击repositories,可以看到nexus已经预置了7个仓库,可以点击create repositories添加其他的仓库,比如 

- JBOSS的两个: 
http://repository.jboss.org/maven2 
http://repository.jboss.org/nexus/content/repositories/releases 

- spring的: 
https://repo.spring.io/libs-release

.3.使用

* 使用私服 * 

点击页面顶端的齿轮按钮->点击repositories,在列表中,找到需要的仓库,复制url内容,添加到gradle脚本中.

repositories {
maven { url "http://localhost:8081/repository/maven-public/"}
maven { url "http://localhost:8081/repository/spring-public/"}
jcenter()
mavenCentral()
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

* 发布到私服 * 

修改gradle.properties

nexusUrl=http://localhost:8081
nexusUsername=admin
nexusPassword=admin123
  • 1
  • 2
  • 3

使用maven插件进行上传

uploadArchives {
repositories {
mavenDeployer {
repository(url: "${nexusUrl}/repository/maven-releases/") {
authentication(userName: nexusUsername, password: nexusPassword)
}
snapshotRepository(url: "${nexusUrl}/repository/maven-snapshots") {
authentication(userName: nexusUsername, password: nexusPassword)
}
}
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

* 手动发布 *

以下是2.x版本的上传方式,3.x版本据说要等到3.1以后才支持。

  在nexus的仓库列表中点击要部署的目标仓库,然后点击Artifact Upload选项卡,在Gav definition选择,Gav parameters,然后在下面的三个输入框里输入group、artifactID、version等相关信息,然后点击select artifact to upload上传即可。

Nexus私服的安装与配置的更多相关文章

  1. nexus私服搭建及信息配置

    nexus私服搭建及信息配置 下载 登录nexus官网下载nexus安装包https://help.sonatype.com/repomanager2/download/download-archiv ...

  2. Nexus3.6版私服搭建安装与配置教程

    1.本地环境配置(Nexus3.6支持jdk版本1.6.1.7.1.8) 1.1.官网下载地址:https://www.sonatype.com/download-oss-sonatype       ...

  3. Nexus3.6 window版私服搭建 安装、配置教程

    1.本地环境配置(Nexus3.6支持jdk版本1.6.1.7.1.8) 1.1.官网下载地址:https://www.sonatype.com/download-oss-sonatype       ...

  4. Linux下建立Nexus私服

    Linux下建立Nexus私服 要安装3个东西,然后配置私服: 1.JDK 2.Maven 3.Nexus 然后配置 1.JDK的安装 下载JDK安装包,格式为RPM格式,安装即可 安装程序 #rpm ...

  5. Linux 安装配置maven3.0 以及搭建nexus私服

    http://carvin.iteye.com/blog/785365 一.软件准备 1.apache-maven-3.0-bin.tar.gz 下载地址:http://www.apache.org/ ...

  6. Linux安装配置maven以及搭建nexus私服(编写启动脚本)

    2011年07月12日16:32  下面介绍在Linux操作系统下安装配置maven和搭建nexus私服. 一.安装前的准备 下载 jdk http://www.oracle.com/technetw ...

  7. 【Maven学习】Nexus OSS私服仓库的安装和配置

    背景 公司的代码依赖是通过Maven进行管理的,而Maven的私库我们使用的是Nexus,目前使用的版本是Nexus Repository Manager OSS 2.12.1. 但是由于之前我们搭建 ...

  8. Maven配置Nexus私服

    官方文档:http://books.sonatype.com/nexus-book/3.0/reference/maven.html#maven-sect-single-group 1,下载安装 首先 ...

  9. linux 搭建 nexus 私服及配置

    安装篇 1.tar -zxvf nexus-latest-bundle.tar.gz 2.cd nexus-2.13.0-01/bin 3../nexus start 这时可能提示 ********* ...

随机推荐

  1. UVa 1220 Hali-Bula的晚会(树的最大独立集)

    https://vjudge.net/problem/UVA-1220 题意: 公司里有n个人形成一个树状结构,即除了老板以外每个员工都有唯一的直属上司.要求选尽量多的人,但不能同时选择一个人和他的直 ...

  2. Goroutines和Channels(一)

    Go语言中的并发程序可以用两种手段来实现.本章讲解goroutine和channel,其支持“顺序通信进程”(communicating sequential processes)或被简称为CSP.C ...

  3. python 正则表达式替换字符串中匹配的字符

    import re street = '21 Ramkrishna Road' print(re.sub('Road$', 'Rd.', street)) 将结尾的Road用Rd.替换

  4. ssh 连接不同无线网且IP以及用户名都相同

    问题现场及解析 用OpenSSH的人都知ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts. 当下次访问相同计算机时,OpenSSH会核对公钥. ...

  5. Python - openpyxl 读写操作Excel

    openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容易 注意:如果文字编码是“gb2312” 读取后就会显 ...

  6. Java 常用对象-Math类

    2017-11-02 21:26:18 Math类:Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. *属性摘要 *常用方法 random() : 返回[0.0,1.0 ...

  7. PHP函数总结 (四)

    <?php/** * 引用参数: * 1.PHP默认按值传递参数,父程序(调用函数)与子程序(函数)的数值分别存储与不同的内存区块: * 2.引用传递参数,加符号 & :它是把父程序的数 ...

  8. Android 7.0真实上手体验

    Android 7.0真实上手体验 Android 7.0的首个开发者预览版发布了,支持的设备只有Nexus6.Nexus 5X.Nexus 6P.Nexus 9.Nexus Player.Pixel ...

  9. 牛客网暑期ACM多校训练营(第一场)I Substring

    题意:给你一个只有abc的字符串,求不相同的子串,(不同构算不同,例如aba和bab算同构) 题解:很显然,如果不考虑同构的问题,我们直接上sa/sam即可,但是这里不行,我们考虑到只有abc三种字符 ...

  10. ccf第二题总结

    1.游戏 问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和小道.大道比较好走,每走1公里小明会增加1的疲劳度.小道不好走,如果连续走小道,小明的疲劳值会快速增加, ...