• Maven私服搭建Nexus3


    第一部分:仓库部署

    下载地址https://help.sonatype.com/en/download.html
    备用下载链接,部分已经失效了
    解压后会有两个文件夹
    nexus-3.20.1-01
    sonatype-work

    访问地址配置路径
    \nexus-3.20.1-01\bin\nexus.vmoptions

    -Xms128m
    -Xmx512m
    -XX:MaxDirectMemorySize=512m
    
    • 1
    • 2
    • 3

    默认配置大小为2703m,两个多G,内存不够的可以修改一下。
    如果是docker部署修改配置没用,要加上-e参数进行配置亲测有效

    # 核心配置
    # -e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"
    docker run -d --name nexus3 -e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs" --hostname nexus -p 8081:8081 -v /www/dk_project/projects/nexus3/:/nexus-data sonatype/nexus3
    
    • 1
    • 2
    • 3

    访问地址配置路径
    \nexus-3.20.1-01\etc\nexus-default.properties

    application-port=8081
    application-host=127.0.0.1
    
    • 1
    • 2

    默认配置端口为8081,可以不做修改直接到 /nexus-3.20.1-01/bin目录下找到nexus直接启动(我用mac实验的,使用命令./nexus启动,哪怕点了允许也一直报安全性问题,后来使用 ./nexus start 点了允许后提示安全问题,但是服务启动成功了),大约等待20秒就可以在浏览器上输入http://localhost:8081进入管理页面。

    初始化账号是admin
    初始化密码所在目录:\nexus-3.20.1-01\etc\sonatype-work\nexus3\admin.password
    登录成功后会提示修改密码,然后询问是否允许匿名用户进行pubulic仓库访问,自行根据翻译和需求设定即可。

    第二部分:仓库类型讲解

    我们创建的是maven私服,所以这里只按照format为maven来举例。
    根据format=maven2的一共有3中type类型。
    如图:仓库类型和仓库格式是有不同分类的。
    在这里插入图片描述

    类型作用
    porxy远程仓库代理,可以下载到所代理的仓库的依赖,比如配置阿里中央仓库或者华为中央仓库等等
    group仓库分组,类似一个文件夹,可以将hosted类型或者porxy类型的仓库进行合并显示,可以通过group一个仓库地址访问到多个仓库的依赖
    hosted本地仓库,可以上传jar或者下载依赖

    proxy作用:

    相当于把远程仓库搬到了本地,通过访问本地私库的地址,代理到指定的仓库地址。

    group作用:

    如果你需要两个依赖A和B,A在阿里仓库有,B在华为仓库,那么你可以配置两个代理仓库,分别代理阿里和华为仓库,然后再创建一个group,将两个代理仓库放入这个group仓库,那么在配置maven仓库的URL时只需要配置group这个仓库的地址就可以获取到A和B依赖。
    在这里插入图片描述

    hosted作用:

    本地仓库,可以上传自己的jar包。
    创建时需要设置部署策略(Deployment policy):

    策略作用
    Allow redeploy允许更新部署
    Disable redeploy禁用更新部署
    Read-only只读

    如果设置禁用更新部署,那么在上传jar时不允许上传版本相同的jar,一般这么设置是为了防止正式版本被替换,所以正式版本仓库是不允许更新部署的,只能新增版本。则快照库允许更新部署,可以不断更新迭代。

    第三部分:仓库使用

    仓库部署好后,可以根据需求做不同配置,如果是pom文件依赖跟着项目走,则可以在pom文件中进行配置,如果是很多项目共用私库,又没有在pom文件中配置私库地址,则可以在本地maven配置文件中进行mirror替换(这种会用maven都会,不说了)
    项目中配置:

    	
    	<groupId>org.examplegroupId>
        <artifactId>SpringBootTemplateartifactId>
        <version>1.2-SNAPSHOTversion>
        
       
    	
    	
    	
    	<repositories>
            <repository>
                <id>releaseid>
                <name>releasename>
                <url>http://xxx.xx.xx.xx:8081/repository/maven-releaseurl>
            repository>
            <repository>
                <id>snapshotsid>
                <name>snapshotsname>
                <url>http://xxx.xx.xx.xx:8081/repository/maven-snapshotsurl>
            repository>
        repositories>
    
        
        <distributionManagement>
        	
            <snapshotRepository>
                <id>snapshotsid>
                <name>snapshotsname>
                <url>http://xxx.xx.xx.xx:8081/repository/maven-snapshotsurl>
            snapshotRepository>
            
            <repository>
                <id>releasesid>
                <name>releasesname>
                <url>http://xxx.xx.xx.xx:8081/repository/maven-releases/url>
            repository>
        distributionManagement>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
  • 相关阅读:
    【动画进阶】当路径动画遇到滚动驱动!
    centos7搭建git服务器
    mongodb 服务端超时 maxTimeMS
    DataX实现Mysql与ElasticSearch(ES)数据同步
    关于通用相机库
    软件设计师_数据库系统_学习笔记
    李沐software 跟着敲代码报错
    字符类型-python(day5)
    ​力扣解法汇总1282-用户分组
    计算机操作系统 第三章:处理机调度与死锁(2)
  • 原文地址:https://blog.csdn.net/qwe1047978302/article/details/136202552