当前位置: 首页 > news >正文

(十五)使用Nexus创建Maven私服

通过建立自己的私服,就可以降低中央仓库负荷、节省外网宽带、加速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

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

 

转载于:https://www.cnblogs.com/AlanLee/p/6225480.html

相关文章:

  • 利用cmdline和gradle快速编译出apk
  • SOA和微服务
  • TreeMap按照value进行排序
  • chrome设置书签默认显示
  • markdown编辑器简评
  • Linux操作系统启动流程梳理
  • [译]MySQL 5.7 Reference Manual::The InnoDB Recovery Process
  • 重拾smslib
  • 【linux命令】之MV
  • 华硕zenfone2 ze551ml刷机
  • 动态规划——买股票的问题
  • Zepto.js源码学习之二
  • JPA 深度刘宝宝剖析版
  • 利用strstr与atoi的结合实现一个C语言获取文件中数据的工具
  • 文字绘制-图片绘制-水印绘制思路
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • ES10 特性的完整指南
  • java小心机(3)| 浅析finalize()
  • k8s 面向应用开发者的基础命令
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • linux学习笔记
  • Map集合、散列表、红黑树介绍
  • maya建模与骨骼动画快速实现人工鱼
  • nodejs:开发并发布一个nodejs包
  • October CMS - 快速入门 9 Images And Galleries
  • vue.js框架原理浅析
  • Vue全家桶实现一个Web App
  • webpack+react项目初体验——记录我的webpack环境配置
  • webpack4 一点通
  • 浮现式设计
  • 关于字符编码你应该知道的事情
  • 后端_MYSQL
  • 基于组件的设计工作流与界面抽象
  • 记录一下第一次使用npm
  • 前端代码风格自动化系列(二)之Commitlint
  • 让你的分享飞起来——极光推出社会化分享组件
  • 算法之不定期更新(一)(2018-04-12)
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 用mpvue开发微信小程序
  • 云大使推广中的常见热门问题
  • 在weex里面使用chart图表
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​虚拟化系列介绍(十)
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • (3)nginx 配置(nginx.conf)
  • (33)STM32——485实验笔记
  • (Matlab)使用竞争神经网络实现数据聚类
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (汇总)os模块以及shutil模块对文件的操作
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (十) 初识 Docker file
  • (四)图像的%2线性拉伸