Maven管理器 --Nexus 搭建

一,为什么要搭建Nexus

Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。
一句话概括:为了解决组件之间的jar包依赖管理。

二,环境准备

  1. Linux系统,centos 7
  2. jdk 1.8+
  3. nexus (下载地址:https://pan.baidu.com/s/1qr4-WR1ZrukenN-gsj18Ug
    取件码:1231)( 官网上下载比较慢,我这里已经下载好放在网盘了)
  4. Maven (客户端)

三,解压安装

  1. 在/usr/local下创建文件夹nexus
    在这里插入图片描述

  2. 使用Xftp工具将压缩包复制到该目录下并进行解压
    在这里插入图片描述

  3. 修改端口号
    访问端口配置目录:nexus-3.9.0-01/etc/nexus-default.properties
    在这里插入图片描述
    我这里直接使用默认的8081

    开放防火墙8081端口:
    firewall-cmd --zone=public --add-port=8081/tcp --permanent
    firewall-cmd --reload

  4. “开箱即用”,直接启动Nexus服务

    进入到nexus-3.9.0-01的bin目录下
    启动命令:./nexus start
    其他命令:./nexus stop | restart | status 停止服务|重启|状态

    启动时会提示下面这句话,我们只需要将启动脚本bin/nexus的 run_as_root=true (467行左右)改为 run_as_root=false即可
    在这里插入图片描述
    在这里插入图片描述
    修改后启动:
    在这里插入图片描述

  5. 访问(ip:端口访问,出现如下页面–>安装成功)
    在这里插入图片描述

四,配置Nexus私服

1)在配置Nexus之前先了解Nexus的工作原理和仓库类型

  1. 工作原理:
    在这里插入图片描述
    (图片来源:https://www.jianshu.com/p/1cfbc1518fce)
    其实在项目中只是将找依赖包这个工作交给我们的nexus了,找依赖流程:先在本地仓库找,本地仓库没有再去我们的nexus私服找,那我们的nexus又怎么找呢:私服仓库组来负责,私服仓库组先在私服本地仓库找,私服本地仓库没有最后再去远程仓库(下面我们会配阿里和maven远程仓库)
  2. Nexus仓库类型:
    • hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
    • proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
    • group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
      在这里插入图片描述

2)创建代理仓库

  1. 这一步只需要在页面上操作即可,注意先登录,默认账号密码:admin admin123
    在这里插入图片描述

  2. 添加Jcenter阿里云仓库:https://maven.aliyun.com/nexus/content/groups/public/
    1,添加代理仓库在这里插入图片描述

    2,选择Maven代理仓库 在这里插入图片描述
    3,添加
    在这里插入图片描述
    点击下方蓝色按钮保存。

  3. 添加maven中央仓库:https://repo1.maven.org/maven2/ (如何发现已经有了就不需要再配,步骤一致,换个仓库名称和地址即可)

  4. 将代理仓库加入到私服仓库组maven-public
    在这里插入图片描述
    到此,Nexus已经配置好了,下面我们要将这些配置到Maven的setting.xml中。

3)配置Maven

修改setting.xml(修改前请建议先做备份)

在这里插入图片描述
修改的时候只需要注意修改自己的IP地址和端口就可以了,url都是一样的指向maven-public仓库组,对着行号找添加相应的位置注意不要把标签弄丢了,修改完可以将这个xml在编译器中(比如idea)打开检查是否报错。

截图说明及代码:

		<mirror>
			<id>nexus-myself</id>
			<mirrorOf>*</mirrorOf>
			<name>Nexus myself</name>
			<url>http://192.168.56.80:8081/repository/maven-public/</url>
		</mirror>

在这里插入图片描述

 	<profile>
       <id>mycof</id>
        <repositories>
            <!-- 私有库地址-->
            <repository>
                <id>nexus</id>
                <url>http://192.168.56.80:8081/repository/maven-public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <!--插件库地址-->
            <pluginRepository>
                <id>nexus</id>
                <url>http://192.168.56.80:8081/repository/maven-public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>

在这里插入图片描述

    <!--激活profile-->
    <activeProfiles>
        <activeProfile>mycof</activeProfile>
    </activeProfiles>

在这里插入图片描述

	<!--配置上传用户权限及仓库信息-->
  <server>
      <id>maven-releases</id>
      <username>admin</username>
      <password>admin123</password>
  </server>
  <server>
      <id>maven-snapshots</id>
      <username>admin</username>
      <password>admin123</password>
  </server>

在这里插入图片描述
setting.xml修改配置完毕!

4)将本地jar包上传到私服

  1. 在idea中创建一个Maven项目
    在这里插入图片描述
  2. pom.xml加入下面两段配置:
	<repositories>
        <repository>
            <id>nexus</id>
            <url>http://192.168.56.80:8081/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    <distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://192.168.56.80:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://192.168.56.80:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
  1. 执行maven的deploy命令
    在这里插入图片描述
    如果控制台出现了BUILD SUCCESS,并且没有报错说明上传成功
    在这里插入图片描述

  2. 查看私服中(maven-public)上传好的依赖包。
    在这里插入图片描述

5)第三方jar包上传

在这里插入图片描述
到这就完事了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值