• Nexus3搭建maven私服


    Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问,也就是我们常说的私服

    1、下载nexus3.x:

    Nexus官方下载地址

    在这里插入图片描述
    官方下载极其慢,这里提供网盘下载:
    链接https://pan.baidu.com/s/1nu7HYjqanv68HE7fHlZFIA?pwd=zdhw
    提取码:zdhw

    2、上传nexus压缩包并解压

    cd /data
    tar -zxvf nexus-3.25.1-04-unix.tar.gz
    
    • 1
    • 2

    3、启动

    cd /data/nexus-3.25.1-04//bin/
    ls
    ./nexus run &
    
    • 1
    • 2
    • 3

    启动成功需要等待几分钟

    4、开启端口号

    firewall-cmd --zone=public --add-port=8081/tcp --permanent
    firewall-cmd --reload
    
    • 1
    • 2

    5、浏览器访问

    默认8081端口
    在这里插入图片描述

    6、设置开机自启动

    1.创建服务

    vim /usr/lib/systemd/system/nexus.service
    
    • 1

    2.按i将下面复制进去

    [Unit] 
    Description=nexus service
    
    [Service] 
    Type=forking LimitNOFILE=65536 #警告处理
    ExecStart=/data/nexus-3.25.1-04/bin/nexus start
    ExecReload=/data/nexus-3.25.1-04/bin/nexus restart
    ExecStop=/data/nexus-3.25.1-04/bin/nexus stop
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    3.将服务加入开机启动

    systemctl enable nexus.service
    
    • 1

    4.重新加载配置文件

    systemctl daemon-reload
    
    • 1

    7、运行用户为root (编辑nexus bin下的nexus.rc)

    cd /data/nexus-3.25.1-04/bin/
    vim nexus.rc
    
    • 1
    • 2

    内容改为:

    run_as_user="root"
    
    • 1

    8、修改nexus3启动时要使用的jdk版本

    cd /data/nexus-3.25.1-04/bin/
    vim nexus
    
    • 1
    • 2

    按i将下面添加进去

    INSTALL4J_JAVA_HOME_OVERRIDE=/data/jdk-11.0.16/
    
    • 1

    java_home地址可以用echo $JAVA_HOME 输出 (前提是/etc/profile有export)
    在这里插入图片描述

    9、修改nexus3默认端口

    文件在/data/nexus-3.25.1-04/etc/nexus-default.properties

    vim /data/nexus-3.25.1-04/etc/nexus-default.properties
    
    • 1

    在这里插入图片描述

    10、登录

    默认用户名:admin
    密码:admin123,如果默认密码不正确就去服务器中查找admin.password文件,密码在里面就是一串字符串。

    [root@localhost data]# find -name admin.password
    ./sonatype-work/nexus3/admin.password
    [root@localhost data]# cat ./sonatype-work/nexus3/admin.password
    a3dffe94-17b2-4aea-bcc3-95d1ba126442
    [root@localhost data]#
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    登录成功后按提示完成密码修改
    在这里插入图片描述
    是否允许匿名访问:
    在这里插入图片描述

    九、私服新建自定义的仓库

    步骤1:
    点击Create repository,然后选择类型为 maven2(hosted)
    在这里插入图片描述
    步骤2:
    输入仓库名称 private-release(自定义),并在 Version policy 一栏中选择 Release,表示这个仓库的存储依赖为正式发布的组件,然后在 Deployment policy 一栏中选择 Allow redeploy,允许部署和更新私服上的组件。
    点击Create repository 之后,就可以在仓库列表看到自定义的仓库了,我们再按照同样方式操作添加一个 snapshot 仓库,只需在 Version policy 一栏调整为 Snapshot 即可。
    在这里插入图片描述
    快照仓库的创建
    在这里插入图片描述

    十、添加角色和用户

    1、添加角色

    Nexus 默认只有两种角色:nx-anonymous 和 nx-admin,前者只有浏览的权限,后者为管理员权限,一般情况下,我们还需要正对开发人员创建个角色。点击 Create Role,添加一个 Role ID 为 developer 的自定义角色, 并且只添加自定义仓库的使用权限,删除操作除外
    在这里插入图片描述
    在这里插入图片描述

    2、添加用户

    点击 Create local user,填入用户名,密码等必填信息之后,关联我们先前的创建的角色即可,点击Create local user保存,创建成功。
    在这里插入图片描述

    十一、使用 Maven 私服

    搭建好了私服,创建完用户和角色之后,我们怎么使用呢?接着往下看。

    1、修改服务端配置文件

    在服务器上,打开 /data/nexus-3.25.1-04/system/setting.xml (vim setting.xml)

    cd /data/nexus-3.25.1-04/system
    vim settings.xml
    
    • 1
    • 2

    注意:这里添加 true 可以上传带SHAPSHOT的版本,也就是说可以上传到snapshot类型的库中,不加的话在idea中只能把SHAPSHOT后缀去掉,否则会报错。

    
      
                    
                            buba-release
                            qlx
                            123456
                    
                    
                            buba-snapshot
                            qlx
                            123456
                    
      
    
      
            
                    development
                    
                            
                                    buba-release
                                    http://192.168.109.146:8081/repository/buba-release/
                                    true
                                    false
                            
                            
                                    buba-snapshot
                                    http://192.168.109.146:8081/repository/buba-snapshot/
                                    false
                                    true
                            
                    
            
      
    
      
              development
      
    
    
    
    • 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
    • 38
    • 39

    2、修改本地maven配置文件

    在本地maven的配置文件中的标签下 ,添加连接私服的账号密码和ID配置如下

    
            buba-release
            qlx
            123456
        
        
            buba-snapshot
            qlx
            123456
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    3、修改idea中的POM文件

    在Idea中POM文件中添加如下配置(这里的url,可以通过 Nexus 后台上仓库页面的 cpoy 按钮自动复制得到):

    <distributionManagement>
            <repository>
                <id>buba-release</id>
                <name>buba-release</name>
                <url>http://192.168.109.146:8081/repository/buba-release/</url>
            </repository>
    
            <snapshotRepository>
                <id>buba-snapshot</id>
                <name>buba-snapshot</name>
                <url>http://192.168.109.146:8081/repository/buba-snapshot/</url>
            </snapshotRepository>
    </distributionManagement>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    到现在我们基本都配置完成了,执行部署命令 mvn clean deploy 或者利用 IDE 的 部署插件进行发布,当控制台出现 BUILD SUCCESS ,说明发布成功。
    在这里插入图片描述
    此时,可以在 Nexus 后台上仓库页面中查看我们发布的jar包。
    在这里插入图片描述
    在这里插入图片描述
    至此,我们全部操作成功!!!

  • 相关阅读:
    消息监听器和消息监听容器
    【校招VIP】数据库之优化相关
    【密码学】RSA密码体制存在的问题
    视频号小店和抖音小店,怎么选更适合普通人做?我更推荐这个
    基于Springboot的人事管理系统 (有报告)。Javaee项目,springboot项目。
    防火墙设置
    【iOS】Mac M1安装iPhone及iPad的app时设置问题
    Linux下IIC子系统和触摸屏驱动
    基础语法——组合与继承
    LeetCode416 分割等和子集
  • 原文地址:https://blog.csdn.net/Dyoungwhite/article/details/128073876