zoukankan      html  css  js  c++  java
  • 3.使用nexus3配置maven私有仓库

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

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

    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无法下载的时候,一般情况下的解决办法都是通过手动下载,然后再手动上传到私服当中。

  • 相关阅读:
    用 Web 实现一个简易的音频编辑器
    TypeScript教程
    他的独,殇情沉醉
    重新拎一遍js的正则表达式
    网络流
    Xmind最新的安装与破解教程
    adb的端口号5037被占用的解决方法
    使用Fiddler模拟弱网测试教程
    web的前台、后台、前端、后端
    常见面试笔试题
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13099980.html
Copyright © 2011-2022 走看看