【使用nexus搭建maven私服】

前言

现在我们已经知道了maven的基本功能:可以自动下载jar包
并且我们也知道了

  1. 本地仓库
  2. 私服仓库(例如:阿里私服)
  3. 中央仓库(www.mvnrepository.com

如果大家不能理解,可以看这个理解理解

在这里插入图片描述

那么今天就是交大家如何自己搭建一个私服
如图

在这里插入图片描述

成功后就差不多像这样


nexus的配置

nexus的下载

下载的话,看大家选择而定。

nexus2.x下载路径:https://help.sonatype.com/repomanager2/download/download-archives—repository-manager-oss
nexus3.x下载路径:http://www.sonatype.org/nexus/go

在这里说一下,因为不知道是什么原因,我的电脑下3.x的会有闪退的情况,所以今天就用的是2.x的来演示。


nexus的打开

其实就点击选择自己的版本
因为我的是window10(64),所以打开就行
在这里插入图片描述
然后,选中install-nexus.bat,然它成为window服务

in
如果不行的话,试试用管理员的身份打开
然后就可以在服务那看到:在这里插入图片描述
这就可以开始登陆:http://localhost:8081/nexus这个,
进去了就代表成功了


nexus代理库的创建

点击右上角 Log In,使用用户名:admin ,密码:admin123 登录,可使用更多功能
在这里插入图片描述

点击左侧 Repositories 链接,查看 Nexus 内置的仓库

在这里插入图片描述
Nexus 的仓库分为这么几类:

  • hosted 宿主仓库:主要用于部署无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)以及自己或第三方的项目构件;
  • proxy 代理仓库:代理公共的远程仓库;
  • virtual 虚拟仓库:用于适配 Maven 1;
  • group 仓库组:Nexus 通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库。

以 Sonatype 为例,添加一个代理仓库,用于代理 Sonatype 的公共远程仓库。点击菜单 Add - Proxy Repository
在这里插入图片描述
填写Repository ID - sonatype;Repository Name - Sonatype Repository

Remote Storage Location - http://repository.sonatype.org/content/groups/public/ ,save 保存:
在这里插入图片描述
将添加的 Sonatype 代理仓库加入 Public Repositories 仓库组。选中 Public Repositories,在 Configuration 选项卡中,将 Sonatype Repository 从右侧 Available Repositories 移到左侧 Ordered Group Repositories,save 保存
在这里插入图片描述

至于搜索控件,看到configuration,
download Remote Indexes 选为true;
点击sava
在这里插入图片描述


maven的nexus使用

局域网使用

找到maven的配置文件,即:apache-maven-3.1.1/conf 下的settings.xml

<mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
      
    <mirror>
      <id>nexus</id>
      <mirrorOf>central</mirrorOf>
      <name>internal nexus repository</name>
      <url>http://localhost:8081/nexus/content/groups/public/</url>这一段配置,描述的便是 上一步中提到的那个Public Reposiories的信息,这个地址便是他的地址,这些写都可以再界面上看到 
    </mirror>这里的是localhost是在本机搭建测试用的,如果是公司内部的仓库的话,可自行修改成公司内网ip地址。
  </mirrors>

外网访问

  1. 将项目上传到 Github、码云或者类似的管理平台中,通过jitpack发布(最简单的方式)
  2. 将项目发布到jcenter或者mavenCentral中,这个比第一种复杂一些,如果要使用jcenter发布,可以使用bintray-release插件
  3. 将Nexus部署到阿里云或者其他云服务器中,这时使用的版本不再是Windows版而是Unix版
  4. 以上都是常用的方法,因为时间关系就不再详细介绍了,大家可以自行百度。最后介绍一种取巧的方法,就是找一些可以将内网IP映射到外网访问的小工具,比如nat123、花生壳之类的,这里用的是windows_386,一共就三个文件

在这里插入图片描述
其中a.bat是运行文件,里面就一行代码如下:

ngrok -config=ngrok.cfg -subdomain my 8080

其中my为域名的前缀,8080为端口号,这两样是可以根据需要,自行修改的。双击a.bat文件开始运行程序,结果如下:

ngrok  

Tunnel Status                 online
Version                       1.7/1.7
Forwarding                    http://my.tunnel.qydev.com -> 127.0.0.1:8080
Forwarding                    https://my.tunnel.qydev.com -> 127.0.0.1:8080
Web Interface                 127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

当 Tunnel Status为online时,代表已经将内网IP映射到公网上,映射的IP为127.0.0.1(不可变),端口号为你在a.bat中配置的端口号,此处为8080(可配置)。与IP绑定的域名为my.tunnel.qydev.com,其中前缀my即为你在a.bat中配置的前缀。这样你在浏览器中输入my.tunnel.qydev.com就可以连上本机的127.0.0.1:8080。然后,将nexus的IP和端口号分别配置为127.0.0.1和8080就可以在外网访问到本机上的Nexus了。这种方式很简单,成本低,但是访问速度有点慢,但是谁还没有个不在公司coding的时候,这时候就可以提供点便利了。


总结

啊,感觉有点昏了,其实在找资料的过程中我一直卡在了nexus的打开,重点在打不开啊,我下了很多版本,哎。。

然后nexus是搭好了,可是没经过使用啊。

Thanks♪(・ω・)ノ希望对大家有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值