通过建立自己的私服,就可以降低中央仓库负荷、节省外网宽带、加速Maven构建、自己部署构件等,从而高效的使用Maven。有三种专门的Maven仓库管理软件可以用来帮助大家建立私服:Apache基金会的Archiva、JFrog的Artifactory和Sonatype的Nexus。个人只使用过Sonatype的Nexus,目前来说,应该也是当前最流行的Maven仓库管理软件。

1.Nexus简单介绍

Nexus分为开源版和专业版,其中开源版本基于GPLv3许可证,其特性足以满足大部分Maven用户的需要。以下是一些Nexus开源版本的特性:

  • 较小的内存占用(最少仅为28MB)
  • 基于ExtJS的友好界面
  • 基于Restlet的完全REST API
  • 支持代理仓库、宿主仓库和仓库组
  • 基于文件系统,不需要数据库
  • 支持仓库索引和搜索
  • 支持从界面上传Maven构件
  • 细粒度的安全控制

Nexu专业版本是需要付费购买的,除了开源版本的特性外,它主要包含一些企业安全控制、发布流程控制等需要的特性。感兴趣的可以访问该地址了解了解:https://www.sonatype.com/nexus-repository-sonatype。

2.安装Nexus

Nexus是典型的Java Web应用,它有两种安装包,一种是包含Jetty容器的Bundle包,另一种是不包含Web容器的war包,不过小Alan现在去官网下载的时候貌似只发现了Bundle包,没有发现war包的存在,大家可以自己注意一下,小Alan下载的是开源版本的Bundle包,后面会以这个为基础给大家讲解。

①下载Nexus

下载地址:https://www.sonatype.com/download-oss-sonatype,进入网址,如图:

最新的版本是3.x,小Alan选择的是下面的2.x,最新的版本改动比较大,很多东西小Alan也还没去摸索,所以不好拿出来演示,目前软件公司用的最多的应该还是2.x版本,这里就给大家演示2.x版本,当然,感兴趣的童鞋可以在看完小Alan写的文章后自己去下载最新的版本摸索摸索。

②安装Nexus

Nexus的Bundle自带了Jetty容器,因此用户不需要额外的Web容器就能直接启动Nexus。

将其解压到某个目录下面,会得到如下两个子目录:

nexus-2.14.2-01:该目录包含了Nexus运行所需要的文件,如启动脚本、依赖jar包等。

sonatype-work:该目录包含了Nexus生成的配置文件、日志文件、仓库文件等。  

其中第一个目录是运行Nexus所必需的,第二个目录不是必需的,这里给大家说一下怎么在Windows系统下安装和启动Nexus(linux也是同理,通过命令运行相关的脚本)。

在windows系统上,用户需进入D:\ide\nexus\nexus-2.14.2-01\bin\jsw\windows-x86-64子目录,然后直接运行console-nexus.bat脚本就能启动Nexus。运行输出如下:

这时,打开浏览器访问http://localhost:8081/nexus就能看到Nexus的界面了,如图:

要停止Nexus,可以在命令行按Ctrl+C键。

在D:\ide\nexus\nexus-2.14.2-01\bin\jsw\windows-x86-64目录下还有其他一些脚本:

  • install-nexus.bat:将Nexus安装成Windows服务。
  • uninstall-nexus.bat:卸载Nexus Windows服务。
  • start-nexus.bat:启动Nexus Windows服务。
  • stop-nexus.bat:停止Nexus Windows服务。

关于Bundle安装的一个常见问题是端口冲突。Nexus Bundle默认使用的端口是8081,如果该端口已经被其他应用程序占用,或者你想使用80端口开放Nexus服务,则编辑文件D:\ide\nexus\nexus-2.14.2-01\conf\nexus.properties,找到属性application-port,按需要将默认值8081改成其他端口号,然后保存该文件,重启Nexus便可。

扩展:

使用命令行方式安装Nexus服务,在path环境变量中,加入Nexus安装目录下的bin目录,以便在命令行下直接操作,具体的安装过程是很简单的,看下图:

安装完成后,nexus会加入到服务中,下次系统重启的时候,nexus服务将会自动重启。

③登录Nexus

Nexus拥有全面的权限控制功能,默认的Nexus访问都是匿名的,而匿名用户仅包含一些基本的权限,要全面学习和管理Nexus,就必须以管理员方式登录。可以单击右上角的Log In进行登录,Nexus默认管理员用户名和密码为admin/admin123,如图所示:

点击弹出:

点击Log In,登录成功,如图:

结束语:今天2016年12月27日,离2017年只剩4天了,当然小Alan想感慨的还真不是这个,小Alan想感慨的是,买个票咋就那么难捏?又到一年一度的春运时节,一票难求啊!春节前的工作非常地忙碌,现在手上还有个项目要上线,所以小Alan这一段时间都会暂别我们亲爱的博客园,后续再给大家完善博文知识体系,等春节过后再和大家分享一些其他的知识。最后,提前祝大家新年快乐,身体健康,个个都发大财。

可爱博主:AlanLee

博客地址:http://www.cnblogs.com/AlanLee

本文出自博客园,欢迎大家加入博客园。

(十五)使用Nexus创建Maven私服的更多相关文章

  1. 使用Nexus创建Maven私服

    Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问.利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact.Nexus ...

  2. Maven使用笔记(五)Sonatype Nexus 搭建Maven 私服

    1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地, 而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载 ...

  3. Maven 使用Nexus搭建Maven私服

    Maven学习 (四) 使用Nexus搭建Maven私服 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找 ...

  4. Maven-004-使用 Nexus 搭建 maven 私服

    从去年至今,自己一直在学习自动化测试工具,想利用自动化工具尽可能的将重复的.关键的.耗时耗力的工作实现自动化,减轻日常测试工作,提升测试效率.在学习的过程中,将 maven 作为了项目开发管理工具,进 ...

  5. ubuntu下使用Nexus搭建Maven私服

    ubuntu下使用Nexus搭建Maven私服 1.私服简介: 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服, ...

  6. 使用Sonatype Nexus搭建Maven私服后,如何添加第三方JAR包

    使用Sonatype Nexus搭建Maven私服后如何添加第三方JAR包 步骤如下 1.打开nexus地址,进行登录 2.登录Nexus后,点击右侧的“Repositories”,显示当前Nexus ...

  7. Windows使用Nexus搭建Maven私服

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

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

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

  9. 配置maven从自己的私服下载jar包nexus、maven私服仓库(二)

    配置maven项目从私服下载jar包 pom文件配置从maven私服下载jar包 settings文件配置从maven私服下载jar包 (方便自己关键字搜索,所以多写了几行o(* ̄︶ ̄*)o) 今天自 ...

随机推荐

  1. 解决Windows 8.1中所有的应用(Modern App)无法打开(闪退)的问题

    我已经在3台电脑上遇到这个问题了,症状是,所有应用商店安装的App都无法打开,包括应用商店本身,在开始界面点击应用以后,应用的Logo一闪而过,然后就消失了,回到了开始界面.查看系统应用日志,会有这样 ...

  2. Entity Framework 6 Recipes 2nd Edition(11-11)译 -> 在LINQ中调用数据库函数

    11-11. 在LINQ中调用数据库函数 问题 相要在一个LINQ 查询中调用数据库函数. 解决方案 假设有一个任命(Appointment )实体模型,如Figure 11-11.所示, 我们想要查 ...

  3. Web 存储

    Web Storage 介绍 Web storage 是在web上存储数据的功能,这里的存储是针对客户端来说的. 具体说分为两种: seesionStorage 数据存储在 session 对象中.s ...

  4. Angular Service和Factory应用的区别

    Service可以用来将返回同类业务的多种返回值 Factory可以用来提供对同类业务的多个方法的调用 另外:Provider可以用来封装各独立职责

  5. JavaScript事件概览

    JavaScript事件 JavaScript是单线程,在同一个时间点,不可能同时运行两个"控制线程". 事件句柄和事件对象 1.注册事件句柄 标准和非标准 var button= ...

  6. geotrellis使用(二十七)栅格数据色彩渲染

    目录 前言 复杂原因及思路分析 实现过程 总结 一.前言        今天我们来研究一下这个看似简单的问题,在地理信息系统中颜色渲染应当是最基本的操作和功能,比如我们将一幅Landsat数据拖拽到A ...

  7. 用H5中的Canvas等技术制作海报

    在去年的时候也实现过合成海报的功能,不过当时时间仓促,实现的比较简单. 就一个旋转功能,图片也不能拖动放大,也不能裁剪. 去年的实现可以参考<移动图片操作--上传>和<移动图片操作- ...

  8. JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  9. Notepad2替代系统自带的记事本

    事情是这样的,平时我经常把一些文字复制到记事本中编辑好了再复制到目标位置,可以在系统自带的记事本中替换删除一些内容,记事本小巧,占用很少的资源,我很喜欢:但今天复制的内容中有很多数字和一些我不想要的内 ...

  10. 读书笔记--SQL必知必会08--使用函数处理数据

    8.1 函数 每个DBMS都有特定的函数.事实上,只有少数的几个函数被所有主要DBMS同时支持. 实现同一功能的函数,在不同的DBMS中的名称和语法极有可能不同,也就是说SQL函数不可移植的. 可移植 ...