[前言]

本文主要讲解在Wiindows环境下搭建最新出的Nexus 3.x私服。

1、搭建私服的必要性

一般情况下,各个公司的开发团队为了提高开发效率,都会使用项目构建工具进行开发。常见的构建工具有Ant、Grandle和Maven等。而使用构建工具,一般情况下都需要管理各种依赖的插件,需要频繁连接服务器。而考虑到开发效率,就需要搭建私服。总体来说,使用私服具有以下的好处:
  • 节省外网带宽
  • 加速Maven构建,提高效率
  • 内部部署构件
  • 灵活的安全和权限管理
  • 其他优势

2、Nexus安装和启动

常见的搭建私服的软件有:
  • Apache基金会的Archiva——开源
  • JFrog的Artifatory——核心开源
  • Sonatype的Nexus——核心开源,具有社区版本免费使用。最流行的Maven仓库管理软件。
 
 

由于本文针对的是Maven私服,因此使用Nexus3.x的社区版。

2.1 环境准备

我的前期环境配置:
(1)Windows7 x64系统
(2)JDK1.8
(3)Maven3
最核心的是下载安装Nexus3.x,这里的具体版本是nexus-3.1.0-04。

下载地址

2.2 安装

Nexus3.x是免安装的,下载之后解压到一个文件夹NEXUS_HOME中。至此,下载安装完成。

2.3 Nexus端口配置

Nexus3.x的配置和Nexus1.x、Nexus2.x的配置完全不同。Nexus1.x、Nexus2.x的端口配置方法参考:http://jingyan.baidu.com/article/4853e1e5739e661909f72695.html

而Nexus3.x的安装目录架构如图:

"nexus-3.1.0-04"为Nexus3.x的安装文件目录,“sonatype-work”为Nexus3.x的工作(或称之为数据)目录。和以往不同的是,若想修改Nexus自带的Jetty容器的服务端口,需要修改“NEXUS_HOME\sonatype-work\nexus3\etc”目录下的“nexus.properties”配置文件,修改其中的端口即可。默认端口为:8081,但是通常该端口可能已经被占用,从而出现JettyServer Failed to Start的错误,抛出地址已经被占用的异常,无法绑定,从而导致错误。例如我这里端口改为:8083

2.4 Nexus运行

虽然在“NEXUX_HOME\nexus\nexus-3.1.0-04\bin”目录下存在nexus.exe的可执行程序,但是双击程序或者右键使用管理员运行,都不能启动Nexus的服务。正确的打开姿势是:通过命令行运行。

执行步骤如下:

    1. Win+R,输入cmd回车,打开命令提示符窗口。
    2. 一路cd命令,进入“NEXUX_HOME\nexus\nexus-3.1.0-04\bin”目录。
    3. 输入 nexus,exe /run,回车即可运行。

对于不熟悉命令提示符命令操作的用户,还有一种简单的打开命令提示符窗口的办法:

    1. 进入“NEXUX_HOME\nexus\nexus-3.1.0-04\bin”目录。
    2. 按住Shift键,同时鼠标右键单击,选择“在此处打开命令窗口”。
    3. 输入 nexus,exe /run,回车即可运行。

输入启动nexus的指令:nexus.exe /run

出现如下的信息,表示启动成功。

3 登录Nexus管理系统

Nexus的默认服务端口为8081,默认的用户名是:admin,密码:admin123。

由于我修改了端口号为8083,打开浏览器,输入:localhost:8083即可进入Nexus管理系统。

点击右上角的Sign in按钮,输入用户名和密码,进入仓库管理系统。

4 仓库配置

仓库配置详见官方文档:http://books.sonatype.com/nexus-book/reference3/admin.html#admin-repositories

5 Maven使用Nexus搭建的私服

具体的配置和使用过程,参考:http://www.blogjava.net/xiaomage234/archive/2014/05/13/413584.html

Windows环境使用Nexus-3.x搭建Maven私服的更多相关文章

  1. Gradle系列之从零搭建Maven私服库

    原文发于微信公众号 jzman-blog,欢迎关注交流. 前面几篇文章学习了 Gradle 相关知识,Gradle 系列文章如下: Gradle系列之初识Gradle Gradle之Groovy基础篇 ...

  2. Windows使用Nexus搭建Maven私服

    简介 Maven私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件,有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库,否则,私服请求外部的 ...

  3. Maven学习 (四) 使用Nexus搭建Maven私服

    为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...

  4. Maven——使用Nexus搭建Maven私服

    原文:http://www.cnblogs.com/xdp-gacl/p/4068967.html Maven学习总结(九)--使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要 ...

  5. Maven学习 使用Nexus搭建Maven私服(转)

    为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...

  6. (转)Maven学习总结(九)——使用Nexus搭建Maven私服

    孤傲苍狼只为成功找方法,不为失败找借口! Maven学习总结(九)——使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目 ...

  7. Maven学习-使用Nexus搭建Maven私服

    为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...

  8. 使用Nexus搭建Maven私服问题总结

    #业务场景 最近项目要交付给客户了,之前项目开发和测试一直都是使用公司内部的一套环境,项目交付后客户购置了大量服务器,也要将整套测试环境迁移至客户的服务器上,后续的需求变更以及新需求的开发都会在客户服 ...

  9. Maven学习使用Nexus搭建Maven私服

    原文:http://www.cnblogs.com/quanyongan/archive/2013/04/24/3037589.html 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给 ...

  10. nexus 搭建 maven 私服

    nexus 搭建 maven 私服 本机环境 Win 8 JDK 7 Maven 3.2 Nexus 2.11 版本选择 http://www.sonatype.org/nexus/archivedn ...

随机推荐

  1. jvm参数与GC

    一.JVM的新生代.老年代.与永久代 JVM中的堆,一般分为三大部分:新生代.老年代.永久代: 1.新生代:主要是用来存放新生的对象,一般占据堆的1/3空间.由于频繁创建对象,所以新生代会频繁触发Mi ...

  2. HashMap TreeMap的区别

    Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复就覆盖了),但允许值重复.Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快 ...

  3. 22.LinkedList

    LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现,LinkedList是List接口链表的实现.基于链表实现的方式使得Linked ...

  4. linux命令_文件目录操作命令

    # linux命令--文件和目录操作命令 pwd "print working directory" 打印工作目录的绝对路径 范例: 在bash命令行显示当前用户的完整路径 系统B ...

  5. open:在终端打开文件|应用程序等

    1. 需求&解决方案 打开文件 或url(用默认应用程序): $ open fileName 打开文件 或url(用指定应用程序): $ open -a appName fileName ## ...

  6. iOS安装包瘦身的那些事儿

    在我们提交安装包到App Store的时候,如果安装包过大,有可能会收到类似如下内容的一封邮件: 收到这封邮件的时候,意味着安装包在App Store上下载的时候,有的设备下载的安装包大小会超过100 ...

  7. WPF PrismDialog PopupWindowAction使用MetroWindow

    本示例必须在prism5.0版本以上 PopupWindowAction如何使用MetroWindow?   public class Window1ViewModel:BindableBase,II ...

  8. Javascript高级编程学习笔记(2)—— Script标签

    script标签 js在浏览器中的使用,肯定会涉及到script标签. 那么script标签有哪些属性呢? 1.async:异步加载(不让页面等待该脚本的加载执行,异步加载页面的其他部分) 2.cha ...

  9. Linux下解压.tar.xz格式文件的方法

    前言 对于xz这个压缩相信很多人陌生,但xz是绝大数linux默认就带的一个压缩工具,xz格式比7z还要小. 今天在下载Node.js源码包的时候遇到的这种压缩格式.查了一下资料,这里进行一下记录,分 ...

  10. LeetCode: 106_Construct Binary Tree from Inorder and Postorder Traversal | 根据中序和后序遍历构建二叉树 | Medium

    要求:根据中序和后序遍历序列构建一棵二叉树 代码如下: struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int ...