本地私服仓库nexus3.0使用手册

栏目: Java · 发布时间: 7年前

内容简介:本地私服仓库nexus3.0使用手册

私服架构

私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。

本地私服仓库nexus3.0使用手册

软件环境

Nexus3.3.1、maven3.5.0、JDK1.8

Maven和JDK环境配置略,自行百度。

Nexus3安装

下载:wget https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-3.3.1-01-unix.tar.gz

解压:tar -xvf nexus-3.3.1-01-unix.tar.gz nexus

配置: vi nexus/nexus-3.3.1-01/etc/ nexus-default.properties

application-port=8081
application-host=192.168.1.129
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/nexus

# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
nexus-pro-feature

vi nexus/nexus-3.3.1-01/bin/nexus.rc

run_as_user=root #使用root运行

启动:Nexus start

访问地址:http://192.168.1.129:8081/nexus

##配置仓库

私服仓库

安装成功后有两个默认账号admin、anonymous,其中admin具有全部权限默认密码admin123;anonymous作为匿名用户,只具有查看权限。

pepositories name属性说明

  • maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
  • maven-releases:私库发行版jar
  • maven-snapshots:私库快照(调试版本)jar
  • maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。

pepositories type属性说明

  • group(仓库组类型):又叫组仓库,用于方便开发人员自己设定的仓库

  • hosted(宿主类型):内部项目的发布仓库(内部开发人员,发布上去存放的仓库)

  • proxy(代理类型):从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径)

  • virtual(虚拟类型):虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用)

一般,访问我们使用maven-public http://192.168.1.129:8081/nexus/repository/maven-public/

本地仓库

自行安装Maven,此处略过,修改settings.xml相关配置。

修改本地仓库路径:

<!--自定义路径-->
<localRepository>E:\MavenPro\vQuantor</localRepository>

Servers中添加以下验证:

<server>
      <id>nexus</id>
      <username>admin</username>
      <password>admin123</password>
</server>

Mirrors中添加仓库地址:

<mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://192.168.1.129:8081/nexus/repository/maven-public/</url>
</mirror>

第三方Jar上传到Nexus

mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=dubbo -Dversion=2.8.4 -Dpackaging=jar -DrepositoryId=nexus -Dfile=D:\dubbo-2.8.4.jar -Durl=http://192.168.1.129:8081/nexus/repository/maven-releases/-DgeneratePom=false

##扩展阅读

Nexus介绍

Nexus是一个强大的Maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。

如果使用了公共的Maven仓库服务器,可以从Maven中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。

正常做法是在本地架设一个Maven仓库服务器,即利用Nexus私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。

  • Nexus在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷,节省外网带宽和时间,Nexus私服就可以满足这样的需要。

  • Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。

  • Nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。

  • Nexus支持WebDAV与LDAP安全身份认证。

  • Nexus还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。

###为什么要构建Nexus私服?

如果没有Nexus私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。

###在本地构建nexus私服的好处 1)加速构建; 2)节省带宽; 3)节省中央maven仓库的带宽; 4)稳定(应付一旦中央服务器出问题的情况); 5)控制和审计; 6)能够部署第三方构件; 7)可以建立本地内部仓库; 8)可以建立公共仓库 这些优点使得Nexus日趋成为最流行的Maven仓库管理器。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

A Philosophy of Software Design

A Philosophy of Software Design

John Ousterhout / Yaknyam Press / 2018-4-6 / GBP 14.21

This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first ......一起来看看 《A Philosophy of Software Design》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换