Nexus私服搭建及Maven集成(Windows版本 - 巨详细)

一、Nexus下载

下载地址:https://www.sonatype.com/products/repository-oss-download
PS:此处链接访问后,会让你填一些信息才能让你访问到具体的下载页面。这里可以随意填写,不用嫌麻烦,填好后就会出现具体的下载页面,如图:
在这里插入图片描述
如果你实在不想填,可以直接访问:https://www.sonatype.com/thanks/repo-oss
这个地址就是填完后跳转的具体下载页面。
这里我选择的是OSS 3.X - Windows版本,下载后解压会得到如下结构的文件夹:
在这里插入图片描述
到此,下载部分就全部完成了。

二、运行Nexus

进入到nexus-3.38.1-01/bin目录下,打开cmd命令窗口,输入命令:

nexus.exe/run

然后安静等待启动完成,访问http://127.0.0.1:8081,即可看到如下界面:
在这里插入图片描述
到此,Nexus的启动步骤也完成了,非常简单。
PS:

  • Nexus的默认端口为8081,可以在nexus-3.38.1-01/etc目录下的nexus-default.properties
    文件中修改:
    在这里插入图片描述
    我因为Jenkins已经将8081端口占用了,所以将端口修改为了8082。
  • 成功进入页面后点击Sign in进行登陆,账号为admin,密码提示会告诉你在磁盘的具体位置(sonatype-work\nexus3\admin.password),找到并复制即可登录成功。成功登录后会让你修改密码。修改后会做简单的配置,比如支不支持上传包到Nexus服务器等,这里选择支持即可,后面会使用到。

三、Nexus仓库介绍及阿里云配置

3.1 仓库介绍

点击菜单”Browse“,可以看到当前的仓库:
在这里插入图片描述
不同Type代表的含义:

  • hosted :宿主仓库,这个仓库,是用来把公司内部的发布包部署到这个仓库里面来,然后公司内的其他人就可以从这个宿主仓库里去下载依赖使用
  • proxy:代理仓库,这个仓库不是用来给公司内部的发布部署的,是代理了公司外部的各种仓库,例如java.net,codehaus,jboss等等,最重要就是它代理了公司外部的中央仓库,但是这里也可以修改nexus连接为阿里云镜像仓库,阿里云去连接中央仓库。
  • group:仓库组,其实就是将各种宿主仓库、代理仓库全部组成一个虚拟的仓库组,然后我们的项目只要配置依赖一个仓库组,相当于就是可以自动连接仓库组对应的各种仓库。
  • virtual:虚拟仓库

不同仓库的含义:

  • maven-central:这是代理仓库,代理maven中央仓库
  • maven-releases:该仓库是个宿主仓库,用于部署公司内部的release版本的发布包(类似于1.0.0,,release的意思就是你的工程已经经过了完善的测试,单元测试,集成测试,QA测试,上生产环境使用了)到这个仓库里面,供其他同事在生产环境依赖和使用
  • maven-snapshots:该仓库是个宿主仓库,用于部署公司内部的snapshot版本的发布包到这个仓库里(如果你的某个工程还在开发过程中,测试还没结束,但是,此时公司里其他同事也在开发一些工程,需要依赖你的包进行开发和测试,联调,此时你的工程的版本就是类似1.0.0-SNAPSHOT这样的版本),供其他同事在开发和测试的时候使用
  • maven-public:仓库组,上面所有release仓库都在这个仓库组内

3.2 阿里云配置

登录后,点击上面的设置按钮:
在这里插入图片描述
依次点击”Repositories“、”maven-central
在这里插入图片描述
在如图处配置阿里云中央仓库位置,当你私服中不存在该Jar的时候,它会从阿里云中央仓库下载,提高效率。
阿里云中央仓库地址:http://maven.aliyun.com/nexus/content/repositories/central/

在这里插入图片描述
配置完成后,划到最下面点击保存即配置成功。
至此,Nexus的搭建基本上就完成了,接下来就是本地Maven配置测试了。

四、Maven配置

4.1 settings.xml设置

找到并打开settings.xml文件,添加私服配置:

  1. 在servers中添加如下配置
<servers>
        <!-- server
         | Specifies the authentication information to use when connecting to a
         | particular server, identified by a unique name within the system
         | (referred to by the 'id' attribute below).
         |
         | NOTE: You should either specify username/password OR
         |       privateKey/passphrase, since these pairings are used together.
         |
        <server>
          <id>deploymentRepo</id>
          <username>repouser</username>
          <password>repopwd</password>
        </server>
        -->

        <!-- Another sample, using keys to authenticate.
        <server>
          <id>siteServer</id>
          <privateKey>/path/to/private/key</privateKey>
          <passphrase>optional; leave empty if not used.</passphrase>
        </server>
        -->

        <!-- 私服密码 -->
        <server>
        	<!-- 这里的id可以随意取,但是我们在pom.xml中配置的id要与此一致 -->
        	<!-- release正式版本 -->
            <id>local-release</id>
            <username>admin</username>
            <password>123456</password>
        </server>
        <server>
       		<!-- 这里的id可以随意取,但是我们在pom.xml中配置的id要与此一致 -->
       		<!-- snapshot快照版本 -->
            <id>local-snapshot</id>
            <username>admin</username>
            <password>123456</password>
        </server>
    </servers>
  1. 在mirrors中添加如下配置:
<!-- 私服地址 -->
<mirror>
	<!--This is used to direct the public snapshots repo in the profile below over to a different nexus group -->
	<id>maven-address</id>
	<mirrorOf>*</mirrorOf>
	<!-- 此处配置你的Nexus地址 -->
	<url>http://127.0.0.1:8082/repository/maven-public/</url>
</mirror>

4.2 pom.xml配置

在项目中的pom.xml中添加如下配置:

	<repositories>
        <repository>
            <id>nexus</id>
            <name>Nexus Repository</name>
            <!-- 这里与settings.xml中配置的url保持一致 -->
            <url>http://127.0.0.1:8082/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <!--snapshots默认是关闭的,需要开启  -->
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

	<!-- 如下配置,如果是微服务项目,可以只加在最外层的pom.xml中,子模块只需加上面的配置即可  -->
    <distributionManagement>
        <snapshotRepository>
        	<!-- 这里的id与settings.xml中配置的id保持一致  -->
            <id>local-snapshot</id>
            <name>LOCAL-SNAPSHOT</name>
            <url>http://127.0.0.1:8082/repository/maven-snapshots/</url>
        </snapshotRepository>

        <repository>
        	<!-- 这里的id与settings.xml中配置的id保持一致  -->
            <id>local-release</id>
            <name>LOCAL-RELEASE</name>
            <url>http://127.0.0.1:8082/repository/maven-releases/</url>
        </repository>
    </distributionManagement>

至此,Nexus的Maven相关配置就完成了。

五、测试

加好配置后,进入对应的项目下,执行 mvn deploy,最后会出现如图所示的日志(前提是你项目能正常install):
在这里插入图片描述
这里我们就可以看到我们的项目已经发布到了私服。具体位置和项目的groupId有关:
在这里插入图片描述
如我这里的groupId是org.example,version后缀带SNAPSHOT,代表快照。会存入我们配置的maven-public仓库下,如图:
在这里插入图片描述
至此Nexus私服的基本搭建及Maven配置就完成了,看完没看完都点个赞呗 ^ - ^

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值