nexus仓库的基本用法

① 启动nexus。

上一章有提到:https://www.cnblogs.com/NYfor2018/p/9079068.html

② 访问http://localhost:8081/ 点击右上角的sign in登录,默认用户名是:admin 密码:admin123。

登录之后可以点击右上角的admin,修改默认密码。

仓库类型

① 点击最上排的齿轮按钮,然后点击左边的Repository—Repositories菜单,可以看到当前仓库列表。

format列:maven2是Java仓库;nuget是.net仓库。

type列

1、proxy是代理仓库,如果自己私有库没有对应的资源(jar等),就会到这里去找。

2、hosted是宿主仓库,是自己的私有库地址。这仓库有release和snapshots两种类型,如果自己在创建依赖jar包的时候,就需要指定,是正式发布(release),还是发布开发版(snapshots)。

3、group管理组,组是Nexus一个强大的特性,它允许你在一个单独的URL中组合多个仓库,比如默认组合:maven-central、maven-release和maven-snapshots。

proxy:代理仓库

局域网内用户首先从代理仓库下载jar包,如果代理仓库没有就从远程仓库下载到代理仓库中。

① 点击列表中的maven-central代理仓库,会出现设置页面。如下将默认远程仓库修改为阿里云镜像:http://maven.aliyun.com/nexus/content/groups/public/,点击最下面的SAVE按钮保存。

② 返回到列表页面,点击maven-central右边的copy按钮,复制仓库地址:

③ 在项目pom.xml文件中设置代理仓库,如下url就是刚才复制的地址,另外再设置一个spring-core-5.0.6.RELEASE的依赖包。

<repositories> 

    <repository> 

        <id>central</id> 

        <name>central</name> 

        <url>http://localhost:8081/repository/maven-central/ </url> 

    </repository> 

</repositories> 

④ 如果在此之前在settings.xml中设置了镜像仓库,需要将其注释掉,代理仓库才会生效。如果在此之前下载了spring-core,在本地仓库删除其jar包,现在从代理仓库重新下载。在eclipse中右键点击项目—maven—update project。

把画面切换到Nexus页面,点击最上排的方块图标,选择下面的browse—components菜单,点击maven-central仓库,如图:

可以看到,spring-core-5.0.6.RELEASE已经成功下载到代理仓库之中,局域网内其他人可以直接从这里下载依赖jar包,而不需要连接外网。

hosted:宿主仓库

与代理仓库相反,它没有远程仓库,自己就是终点。主要用于多个模块开发时,将某一模块代码打包成jar包,发布到宿主仓库,其他项目成员可以从这个仓库下载你的打包好的模块jar包,在其他模块中使用这个模块类的功能。

① 在pom.xml中设置发布仓库如下,另将默认的<version>0.0.1-SNAPSHOT</version>中的内容改成1.0,不能由SNAPSHOT字样。

<distributionManagement> 

    <repository> 

        <id>releases</id> 

        <name>releases</name> 

        <url>http://localhost:8081/repository/maven-releases/</url> 

    </repository> 

</distributionManagement> 

② 在settings.xml中设置用户名密码,id要和上面对应。注意:匿名用户只有读取的权限,没有发布的权限。

<servers> 

    <server> 

        <id>releases</id> 

        <username>admin</username> 

        <password>admin123</password> 

    </server> 

</servers> 

③ 右击项目—Run as—maven build…--在goals输入deploy,运行。

③ 运行完之后返回nexus页面,点击Browse—Components菜单—maven-release仓库,如下MavenTest项目已经成功发布到宿主仓库了。

group管理组

我们可以看到,maven直接连接的仓库有:宿主仓库1、仓库组、代理仓库2,而仓库组连接的仓库有:宿主仓库2、代理仓库1。

所以,maven连接到的仓库有:宿主仓库1、宿主仓库2、代理仓库1、代理仓库2。

group管理组,就是把两个或多个仓库,打包在一起的“升级版仓库”。

 而建立group管理组也挺简单的:

建立group管理组:

①    打开nexus私服,点击create repository。

②    根据需求,选中带“group”字样的类型。

③    输入group管理组的名称之后,选择管理组的成员类型,然后点击“create repository”。

④    group管理组创建成功。


参考文章:https://blog.csdn.net/wangb_java/article/details/53953891       https:/ /www. cnblogs.com/luotaoyeah/p/3791966.html

(十二)maven之nexus仓库的基本用法的更多相关文章

  1. maven(14)-nexus仓库基本用法

    登录 启动nexus3,访问http://localhost:8081/  点击右上角sign in登录,默认用户名:admin  密码:admin123,登陆后可以点击右上角的admin,修改默认密 ...

  2. (十二)Maven生命周期和插件

    除了坐标.依赖以及仓库之外,Maven的另外两个核心概念是生命周期和插件.在有关Maven的日常使用中,命令行的输入往往就对应了生命周期,如mvn package就表示执行默认生命周期阶段packag ...

  3. Maven学习笔记(十二)-maven打包之resource配置

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011781521/article/details/79052725 一.简介 构建Maven项目的 ...

  4. Maven学习(十二)-----Maven POM

    Maven POM POM代表项目对象模型.它是 Maven 中工作的基本单位,这是一个 XML 文件.它始终保存在该项目基本目录中的 pom.xml 文件.POM 包含的项目是使用 Maven 来构 ...

  5. Java开发学习(三十二)----Maven多环境配置切换与跳过测试的三种方式

    一.多环境开发 我们平常都是在自己的开发环境进行开发, 当开发完成后,需要把开发的功能部署到测试环境供测试人员进行测试使用, 等测试人员测试通过后,我们会将项目部署到生成环境上线使用. 这个时候就有一 ...

  6. CentOS6.4 安装Maven及Nexus仓库代理

    本文安装的apache-maven-3.5.0-bin.tar.gz,nexus-2.9.0-04-bundle.tar.gz 1.由于网络并不是特别好我这边是通过本地下载过来,通过sftp上传至Ce ...

  7. springboot系列十二、springboot集成RestTemplate及常见用法

    一.背景介绍 在微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Apache的Http Client.N ...

  8. 爬虫(十二):scrapy中spiders的用法

    Spider类定义了如何爬去某个网站,包括爬取的动作以及如何从网页内容中提取结构化的数据,总的来说spider就是定义爬取的动作以及分析某个网页 工作流程分析 以初始的URL初始化Request,并设 ...

  9. 配置maven使用nexus

    本文简单介绍使用配置maven使用nexus仓库,在团队中使用nexus,避免每个人都从中央仓库去下载依赖,节省带宽,提高下载速度,同时也减少了中央仓库的压力 配置在maven中使用nexus很简单( ...

随机推荐

  1. 爬虫库之BeautifulSoup学习(三)

    遍历文档树: 1.查找子节点 .contents tag的.content属性可以将tag的子节点以列表的方式输出. print soup.body.contents print type(soup. ...

  2. eclipse编译Jmeter源码

    1.在apache官网下载源码和安装包   http://jmeter.apache.org/ 2.  解压     解压安装包和源码包,     将安装包apache-jmeter-3.3 里lib ...

  3. PHP中的常用正则表达式集锦

    PHP中的常用正则表达式集锦: 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xf ...

  4. 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— 准备

    ==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...

  5. Swift 4.0 中的 open,public,internal,fileprivate,private

    1.private private访问级别所修饰的属性或者方法只能在当前类里访问. 2.fileprivate fileprivate访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问. ...

  6. MySql 长时间读数据发生超时的异常 Mysql Reader Exception TimeOut expired

    mysql connector: .net var r = cmd.ExecuteReader() r.Reader()   // <--长时间不停调用 Timeout expired.  Th ...

  7. C++中各种简写及全称的库

    ATL(Active TEmplate Library)活动模板库 RPC(Remote Procedure Call Protocol)远程过程调用协议 DCE(Distributed Comput ...

  8. SpringBlade 2.0-RC3 发布,全新的微服务开发平台

    经过了十天的艰苦奋斗,SpringBlade 2.0-RC3发布了,此版本增加了很多有用的功能,距离正式版本更近一步! SpringBlade简介: SpringBlade 2.0 是一个基于 Spr ...

  9. 在接口的实现类里使用@Override注解报错

    问题分析 @Override注解用来检测子类对父类或接口的方法的重写是否正确,但有一次我在Eclipse里对接口的实现类里使用@Override注解却报错,不过在父类的子类里使用该注解却是正常的. 百 ...

  10. OSPF-1-OSPF的数据库交换(5)

    三.LAN中的指定路由器   没有DR概念的话,共享同一条数据链路的一对路由器会形成完整的邻接关系,每对路由器之间都会直接交换它们的LSDB,假设在一个只有6台路由器的LAN中,其中没有DR,那么就会 ...