配置之前,我们先来看看系统默认创建的都有哪些

其中圈起来的都是系统原有的,用不到,就全删掉,重新创建。

1,创建blob存储

2,创建hosted类型的maven

点击 Repository下面的 Repositories – Create repository – maven2(hosted) :

Name: 定义一个名称maven-local

Online: 勾选。这个开关可以设置这个maven repo是在线还是离线。

Maven2:这里有三种方式,Releases、SNAPSHOT、Mixed。

  • Releases: 一般是已经发布的Jar包
  • Snapshot: 未发布的版本
  • Mixed:混合的

这里不做设置,默认即可。

Storage

Blob store,我们下拉选择前面创建好的专用blob:maven-use。

Hosted

开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy。这个很重要!

3,创建一个proxy类型的maven仓库。

proxy的功能就是代理中央Maven仓库,当PC访问中央库的时候,先通过Proxy下载到Nexus仓库,然后再从Nexus仓库下载到PC本地。

这样的优势只要其中一个人从中央库下来了,以后大家都是从Nexus私服上进行下来,私服一般部署在内网,这样大大节约的宽带。

Name: proxy-maven

Maven 2: 不设置,使用默认。

Proxy

Remote Storage: 远程仓库地址,这里填写: https://repo1.maven.org/maven2/

Storage: maven-use。

整体配置截图如下:



4,创建一个group类型的maven仓库。

group类型的maven仓库,是一个聚合类型的仓库。它可以将前面我们创建的2个仓库聚合成一个URL对外提供服务,可以屏蔽后端的差异性,实现类似透明代理的功能。后面通过一些配置,大家可能会对这个group有更加深入的了解。

Name:group-maven

Storage:选择专用的blob存储maven-use。

group : 将左边可选的2个仓库,添加到右边的members下。

整体配置截图如下:



这样配置以后,我们就可以使用了。

5,验证使用

使用起来其实非常简单,就是在测试机器上安装maven工具,然后再其配置当中,将地址指向我们的私服地址,然后编译项目,这个时候就会通过私服来拉取jar包了,以后再编译的时候,就可以直接从本地私服拉取了。

现在找一台测试机器,进行验证。

1.测试主机安装jdk

2.测试主机安装maven

3.更改maven的配置

将项目编译依赖地址指向改成私服的配置,需要通过更改maven的配置实现,也就是更改maven/conf/settings.xml的仓库地址。

<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://192.168.75.11:8081/repository/group-maven/</url>
</mirror>

4,拉取项目编译。

拉取之后,进到项目里边,开始编译。

请注意,这个时候,我们的group里边是空空如也的。

找一个springboot项目,地址:https://start.spring.io/

那么接下来开始编译:

unzip demo.zip
cd demo
mvn install -e

接下来就会进入各种依赖下载的界面

这个时候我们可以明白,其实我新搭建的仓库里边是空的,那么这会儿的流程就是经由group,转向我们配置的proxy,私服在通过proxy拉取远程的jar,然后再经由group,反馈给当前的项目。

去私服里看看:

可以看到刚刚编译过程中所下载的jar,都如我们所想的呈现在了group当中,明明是通过proxy下载的远程jar,为何可以在group里边看到呢,我想,这就是我刚刚说的,group的妙处所在吧。

maven私服的基本框架已经搭成,当某一些jar无法下载的时候,一般情况下的解决办法都是通过手动下载,然后再手动上传到私服当中。

3.使用nexus3配置maven私有仓库的更多相关文章

  1. <三>企业级开源仓库nexus3实战应用–使用nexus3配置maven私有仓库

    一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...

  2. 使用Nexus配置Maven私有仓库

    使用Nexus配置Maven私有仓库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装配置Nexus 1>.下载nexus 下载地址:https://www.sonat ...

  3. 2.使用nexus3配置docker私有仓库

    1,配置走起 1,创建blob存储 登陆之后,先创建一个用于存储镜像的空间. 定义一个name,下边的内容会自动补全. 然后保存. 注意:实际生产中使用,建议服务器存储500G或以上. 2,创建一个h ...

  4. 架构实战项目心得(四):使用Nexus配置Maven私有仓库

    一.安装配置Nexus 1.  下载nexus https://www.sonatype.com/download-oss-sonatype 2.  解压:tar -zxfnexus-3.5.2-01 ...

  5. <二>企业级开源仓库nexus3实战应用–使用nexus3配置docker私有仓库

    1,安装nexus3. 这个地方略了,安装部署可以参考:nexus3安装配置. 2,配置走起. 1,创建blob存储. 登陆之后,先创建一个用于存储镜像的空间. 定义一个name,下边的内容会自动补全 ...

  6. <五>企业级开源仓库nexus3实战应用–使用nexus3配置npm私有仓库

    一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...

  7. <六>企业级开源仓库nexus3实战应用–使用nexus3配置yum私有仓库

    一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...

  8. 5.使用nexus3配置npm私有仓库

    当我们运行前端项目的时候,常常在解决依赖的时候会加上一个参数npm install --registry=https://registry.npm.taobao.org将源指定为淘宝的源,以期让速度加 ...

  9. 9.使用nexus3配置Python私有仓库

    搭建Python私服,我们依旧使用nexus3. 与其他私服一样的,Python私服同样有三种类型: hosted : 本地存储,便于开发者将个人的一些包上传到私服中 proxy : 提供代理其他仓库 ...

随机推荐

  1. 贪吃蛇-JavaGUI实现

    开发的大体思路 1.定义数据 2.画上面板(将数据进行初始化赋值) 3.监听事件    键盘监听    事件监听 游戏主界面代码 点击查看代码 package com.Tang.gui.snake; ...

  2. logback-spring 集成 ELK、kafka的配置

    pom.xml <dependency> <groupId>com.github.danielwegener</groupId> <artifactId> ...

  3. C++学习记录1

    代码1:转义字符 点击查看代码 #include<iostream> using namespace std; void test01()//换行 { cout << &quo ...

  4. GitLab:Your account has been blocked.

    使用git pull 出现"GitLab:Your account has been blocked."错误 背景 多人使用服务器同一用户,在~/.ssh 目录下的公私钥是之前一个 ...

  5. Elasticsearch的cmd窗口乱码问题(windows)

    elasticsearch 7.6.0 windows版日志乱码问题解决 修改jvm.options,如何重启es即可 新增 -Dfile.encoding=GBK

  6. pathlib相关操作

    简介 python中操作文件或者文件夹的模块目前我知道的有四个,分别为os.shutil.pathlib.glob,在了解到pathlib之前,我一直使用的是os进行相关路径的操作,但在使用了path ...

  7. Modbus转BACnet IP网关

    BACnet是楼宇自动化和控制网络数据通信协议的缩写.它是为楼宇自动化网络开发的数据通信协议   根据1999年底互联网上楼宇自动化网络的信息,全球已有数百家国际知名制造商支持BACnet,包括楼宇自 ...

  8. Mybatis的使用(3)

    1:动态sql: 意义:可以定义代码片段,可以进行逻辑判断,可以进行循环或批量处理,使条件判断更为简单 1.1:定义代码片段简化代码: 1.2:多条件查询: <where> <if ...

  9. SVN:取消对代码的修改

    取消对代码的修改分为两种情况: 第一种情况:改动没有被提交(commit). 这种情况下,使用svnrevert就能取消之前的修改. svn revert用法如下: #svn revert[-R] s ...

  10. Apache DolphinScheduler 使用文档(6/8):任务节点类型与任务参数设置

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 6. 任务节点类型和参数设置 6.1 Shell节点 ...