[前言]

本文主要讲解在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. Educational Codeforces Round 62 (Rated for Div. 2) C 贪心 + 优先队列 + 反向处理

    https://codeforces.com/contest/1140/problem/C 题意 每首歌有\(t_i\)和\(b_i\)两个值,最多挑选m首歌,使得sum(\(t_i\))*min(\ ...

  2. centos7安装python3.6后导致防火墙功能无法正常工作的解决办法

    问题:因为默认python版本被设置成了python3.6,而进行防火墙的指令操作频频报错. Jul 19 16:30:51 localhost.localdomain systemd[1]: Sta ...

  3. Unity3D中声音播放

    Unity3D 播放声音需要使用 Audio Source 组件,并且需要 Audio Listener 组件配合,不然无法听到声音.Main Camera 会默认有 Audio Lisetener. ...

  4. Linux下nautilus的右键快捷菜单项设置

    某一天我的Linux更新完后, 我照常在文件夹下点击右键想打开终端, 却发现右键快捷菜单没有Open in terminal的菜单项了. 在网上查找了一下, 结合自己系统的情况发现了解决办法. 由于我 ...

  5. Learning Rust - Syntax

    Rust is another compiling language that may replace the position of C/C++ in server filed. It runs f ...

  6. 下划线字符串camel

    const camel = (str) => { let slices = str.split('_'); let result = []; for(let i = 1, len = slice ...

  7. esp32的GPIO操作

    对于任何一款芯片,GPIO接口是其最基本的组成部分,也是一款芯片入门的最基本操作,下面论述下 关于esp32开发版的GPIO操作,本文中重点讲解下 关于如何创建eclipse工程,并通过eclipse ...

  8. 3 week work—Grid Layout

    HTML: <div class="wrapper"> //建立一个三列轨道网格. <div class="one">One</d ...

  9. Docker集群管理工具 - Kubernetes 部署记录 (运维小结)

    一.  Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernete ...

  10. 2019-4-25 html学习笔记

    一.概念 文本   用于储存和记录文字信息的载体 html  超文本标记语言(本质就是给文本增加语义 如<h1></h1>就是给文字添加一级标题的语义) 注:互联网三大基石 有 ...