1. Nexus 简介

Nexus 是一个强大的 Maven 仓库管理器 , 它极大地简化了自己内部仓库的维护和外部仓库的访问 ; 利用 Nexus 你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个 Artifact ; Nexus 是一套 “开箱即用” 的系统不需要数据库 , 它使用文件系统加 Lucene 来组织数据 ; Nexus 使用 ExtJS 来开发界面 , 利用 Restlet 来提供完整的 REST APIs , 通过 m2eclipse 与 Eclipse 集成使用 ; Nexus 支持 WebDAV 与 LDAP 安全身份认证 ; 使用私服具有以下的好处 :

  • 节省外网带宽
  • 加速 Maven 构建 , 提高效率
  • 内部部署构件
  • 灵活的安全和权限管理

访问流程如下如所示 :

2. 下载安装

官网下载地址 :

https://www.sonatype.com/download-oss-sonatype

选择对应的版本下载即可 , 我下载的是 nexus-3.7.1-02 ;

Nexus3.x 是免安装的 , 下载之后解压到指定文件夹就可以了 , 比如 : D:\Program\Nexus 
解压完以后会有两个文件夹 , nexus-3.7.1-02 和 sonatype-work , nexus-3.7.1-02 是程序文件夹 , 里面有个 bin 文件夹存放了运行的程序入口 ; sonatype-work 主要是配置/缓存/存储文件夹 ;

3. 运行 Nexus 服务

打开命令行 , 切换到 Nexus 程序目录 :

# D:
# cd D:\Program\Nexus\nexus-3.7.1-02\bin

输入 nexus /run , 运行程序 :

# nexus /run

过程会比较慢 , 出现如下提示运行成功 :

...
-------------------------------------------------
Started Sonatype Nexus OSS 3.7.1-02
-------------------------------------------------
...
默认端口是 8081 , 要修改端口时需要修改 ...\sonatype-work\nexus3\etc” 目录下的 nexus.properties 配置文件 , 修改其中的端口即可


浏览器访问直接输入 http://127.0.0.1:8081/ , 即可进入主页 :

主页访客身份可以浏览已经下载到私服的文件目录 , 如下 :

点击右上角用管理员身份登陆进去 , 默认账户密码是 admin , admin123 :

这里面可以设置 Nexus 的各种仓库配置

4. Eclipse 中使用 Nexus

回到刚刚的管理员仓库管理界面 , 复制 maven-central 仓库的地址 :

然后在Eclipse 里面的 Maven 项目中配置 pom 文件 , 如下 :

    <repositories>
<repository>
<id>nexux</id>
<name>ToJohnNexus</name>
<url>http://192.168.0.107:8081/repository/maven-central/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.8</version>
</dependency>
</dependencies>

保存后就会去给个配置的 Nexus 私服下载 , 如下图 :

私服先检查本地有没有缓存 , 没有缓存就去中央仓库下载 ; 
我们可以在 Nexus 首页看到刚刚下载的 log4j 文件目录 :

5. 发布项目到 Nexus

首先在项目的 pom.xml 文件中配置发布信息 :

<distributionManagement>
<repository>
<id>java-base-ch01-release</id>
<name>java base ch01 release</name>
<url>http://192.168.0.107:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>java-base-ch01-snapshot</id>
<name>java base ch01 snapshot</name>
<url>http://192.168.0.107:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>

然后在本地 Maven 仓库的设置文件中配置 server 节点 :

设置文件默认在 Maven 仓库目录下 , 如 :C:\Users\tojohn\.m2\settings.xml , 没有的话可以新建一个

<servers>
<server>
<id>java-base-ch01-release</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>java-base-ch01-snapshot</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>

账户一定是要有发布权限的账户 , 否则会提示无法授权错误

然后发布项目 , 运行 clean deploy 命令 , 出现如下输出则成功发布 :

...
[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ java-base-ch01 ---
[INFO] Downloading from java-base-ch01-snapshot: http://192.168.0.107:8081/repository/maven-snapshots/com/tojohn/exp/java-base-ch01/0.0.1-SNAPSHOT/maven-metadata.xml
[INFO] Uploading to java-base-ch01-snapshot: http://192.168.0.107:8081/repository/maven-snapshots/com/tojohn/exp/java-base-ch01/0.0.1-SNAPSHOT/java-base-ch01-0.0.1-20180120.095315-1.jar
[INFO] Uploaded to java-base-ch01-snapshot: http://192.168.0.107:8081/repository/maven-snapshots/com/tojohn/exp/java-base-ch01/0.0.1-SNAPSHOT/java-base-ch01-0.0.1-20180120.095315-1.jar (2.7 kB at 7.3 kB/s)
[INFO] Uploading to java-base-ch01-snapshot: http://192.168.0.107:8081/repository/maven-snapshots/com/tojohn/exp/java-base-ch01/0.0.1-SNAPSHOT/java-base-ch01-0.0.1-20180120.095315-1.pom
[INFO] Uploaded to java-base-ch01-snapshot: http://192.168.0.107:8081/repository/maven-snapshots/com/tojohn/exp/java-base-ch01/0.0.1-SNAPSHOT/java-base-ch01-0.0.1-20180120.095315-1.pom (1.5 kB at 5.3 kB/s)
[INFO] Downloading from java-base-ch01-snapshot: http://192.168.0.107:8081/repository/maven-snapshots/com/tojohn/exp/java-base-ch01/maven-metadata.xml
[INFO] Uploading to java-base-ch01-snapshot: http://192.168.0.107:8081/repository/maven-snapshots/com/tojohn/exp/java-base-ch01/0.0.1-SNAPSHOT/maven-metadata.xml
[INFO] Uploaded to java-base-ch01-snapshot: http://192.168.0.107:8081/repository/maven-snapshots/com/tojohn/exp/java-base-ch01/0.0.1-SNAPSHOT/maven-metadata.xml (778 B at 2.8 kB/s)
[INFO] Uploading to java-base-ch01-snapshot: http://192.168.0.107:8081/repository/maven-snapshots/com/tojohn/exp/java-base-ch01/maven-metadata.xml
[INFO] Uploaded to java-base-ch01-snapshot: http://192.168.0.107:8081/repository/maven-snapshots/com/tojohn/exp/java-base-ch01/maven-metadata.xml (288 B at 693 B/s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.737 s
[INFO] Finished at: 2018-01-20T17:53:16+08:00
[INFO] Final Memory: 19M/224M
[INFO] ------------------------------------------------------------------------
...

再去网页端查看 , 会发现刚刚发布的项目已经在 Nexus 库中了 :

Windows搭建Nexus3私服的更多相关文章

  1. Docker 搭建 Nexus3 私服 | 基本操作

    1 Docker 安装 Nexus3 1.1 创建目录 在硬盘上创建 Nexus3 的主目录: mkdir -p /Users/yygnb/dockerMe/nexus3 为该目录添加权限: chmo ...

  2. 搭建Nexus3私服(含使用说明,支持CentOS、Windows)

    官方文档 Nexus仓库介绍(支持maven.yum.docker私服等) 仓库分为三种: proxy:是远程仓库的代理.比如说在nexus中配置了一个central repository的proxy ...

  3. windows下搭建Nexus3私服和基于IDEA15的Maven学习笔记

    搭建Nexus私服. 首先去官网下载window下用的zip文件.https://www.sonatype.com/download-oss-sonatype. 解压之后包含下面两个文件 进入nexu ...

  4. npm 和 maven 使用 Nexus3 私服 | 前后端一起学

    前文<Docker 搭建 Nexus3 私服 >介绍了在 docker 环境下安装 nexus3 以及 nexus3 的基本操作和管理,本文分别介绍 npm(前端)和 maven(后端)如 ...

  5. Windows环境使用Nexus-3.x搭建Maven私服

    [前言] 本文主要讲解在Wiindows环境下搭建最新出的Nexus 3.x私服. 1.搭建私服的必要性 一般情况下,各个公司的开发团队为了提高开发效率,都会使用项目构建工具进行开发.常见的构建工具有 ...

  6. 【Maven】2.使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库

    参考文章: http://www.cnblogs.com/luotaoyeah/p/3791966.html --------------------------------------------- ...

  7. 使用Nexus3搭建Maven私服

    1.搭建Maven私服背景 公司还是按捺不住,要搭建一个自己的Maven本地仓库,可以让开发人员down架包,从内网还是快很多. 这样公司的maven本地仓库就是 开发人员自己电脑上的maven仓库 ...

  8. 使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库

    1.搭建Maven私服背景 公司还是按捺不住,要搭建一个自己的Maven本地仓库,可以让开发人员down架包,从内网还是快很多. 这样公司的maven本地仓库就是 开发人员自己电脑上的maven仓库 ...

  9. 使用 Nexus3 Repository Manager 搭建 npm 私服

    公司里一般都有自己的私服,用于管理封装的工具插件等,Nexus2主要是用于maven/gralde仓库的统一管理,Nexus3则添加了npm插件,可以对npm提供支持,其实用于npm仓库管理的还有一个 ...

随机推荐

  1. 201621123008 《Java程序设计》第五周学习总结

    1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 关键词:接口,内部类. 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现过多的字. 1.3 可选:使用常 ...

  2. UI设计不就是画线框,凭什么年薪30W?

    作为一枚界面设计师 我真的很想为UI设计抱不平啊!! UI设计真是一个备受不解的职业 常会被误解,然后出现以下场景 程序欧巴: 界面画好没?按钮圆的方的不都能用吗?纠结那多干嘛? 产品经理: 这次我们 ...

  3. SECURITY_ATTRIBUTES 实现最低权限总结

    SetSecurityDescriptorDacl函数可以用来设置DACL中的信息.如果一个DACL已经在security descriptor中存在,那么此DACL将被替换.值得注意的是MSDN中的 ...

  4. CSV 文件

    CSV 文件 CSV(Comma Separated Values 逗号分隔值) 是一种文件格式(如.txt..doc等),也可理解 .csv 文件就是一种特殊格式的纯文本文件.即是一组字符序列,字符 ...

  5. 用个体软件过程(PSP)记录你的工作

    用个体软件过程(PSP)记录你的工作 首先,非常感谢大家对本门课程的学习所投入的时间和精力. 其次,已经进入数据时代,口说无凭,拿数据来.如果你认为你已经投入了大量精力在这门课程的学习和作业中,而且已 ...

  6. Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享

    Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享 支付宝十年账单上的数字有点吓人,但它统计的项目太多,只是想看看到底单纯在淘宝上支出了多少,于是写了段脚本,统计任意时间段淘宝订单的消费情况,看 ...

  7. 第1章 (名词)Le nom

    ★名词的种类:(1)普通名词 —专有名词,如:          un livre —la Chine(2)可数名词—不可数名词,如:          un ami —le lait(3)具体名词— ...

  8. java socket 之UDP编程

    一.概念 在TCP的所有操作中都必须建立可靠的连接,这样一来肯定会浪费大量的系统性能,为了减少这种开销,在网络中又提供了另外的一种传输协议——UDP,不可靠的连接(这种协议在各种聊天工具中被广泛使用) ...

  9. js模态窗口返回值(table)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. Robotframework + Appium 之常用元素定位方法

    任何自动化测试,其实手动测试也是一样的,元素定位(目标定位)是首要任务,这是最直接的测试对象呀! 好了,废话不多说,又到了元素定位啦,之前我们已经介绍过selenium及appium常用的定位方法,下 ...