背景

  最近接手一个其他公司的项目,因为工程中使用了maven,而且里面有很多他们自己封装很多自己的构件(就是jar、war等等),需要将他们maven私服迁移到我们的私服上去,因为网络环境不通,所以不能建代理仓库过去,下面介绍一种很简单的办法。

nexus介绍

  1、nexus安装文件

  nexus,下载后包含两个部分,一部分是nexus,主要包含运行时需要的文件,比如依赖的jar包、启动文件等;另一部分是sonatype-work,主要包含nexus生成的配置文件、仓库文件(包文件)、日志文件等。

  2、nexus仓库类型

  nexus的仓库类型有三种:

  1、仓库组,将各种仓库聚合在一起的虚拟仓库组

    在配置界面中可以选择Nexus中的仓库,将其聚合成一个虚拟的仓库组,注意,仓库组所包含的仓库的顺序决定了仓库组便利其所含仓库的次序,因此最好将常用的仓库放在前面,当用户从仓库组下载构件的时候,就能经快的访问到包含构件的仓库。

  2、宿主仓库,用来发布一些第三方不允许的构件,如商业软件、自己发布的jar等。

  3、代理仓库,代理远程的仓库,如Maven官方中央仓库,而代理仓库会间接地从远程仓库下载并缓存构件。

  

解决方案

  因为环境网路不通,使用代理仓库代理远程仓库就行不通了,但是代理仓库会间接地从远程仓库下载并缓存构件,可以利用这一属性,将远程的仓库本地化,把构件缓存到本地来。再在环境中搭建一个私服,上传已经缓存下来的构件,模拟远程仓库作用。

获取待迁移的构件

  在一个网络能够联通的环境中,搭建本地私服,不管是在Windows环境还是Linux环境,只需要下载安装包,启动即可。

  1.下载nexus安装包,解压后。在bin目录下找到nexus.sh启动nexus服务;

  2.在nexus中建一个代理仓库地址,地址配置成对方的仓库地址(可以是中央仓库,也可以是对方的私服,这个视具体情况而定)。

  

  3.本地的maven的配置文件settings.xml中的配置成本地搭建的私服地址,在项目中更新依赖的pom文件,将所需的构件下载到本地私服中去。

将构件引入原有的私服

  1.在需要搭建的私服的环境中,搭建一个新的私服,并将上述建好的本地私服的sonatype-work文件夹上传到新私服下,里面有之前加载好的构件等文件。.

  2.在原有私服中,新建一个代理仓库,在配置中配好新私服的地址。这样就将待迁移构件引入到原有的私服中去了。

内网环境下搭建maven私服小技巧的更多相关文章

  1. Ubuntu server下搭建Maven私服Nexus

    Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...

  2. 内网环境下为Elasticsearch 5.0.2 添加head服务

    背景: 本项目的服务器是内网环境,没有网络,因此需要在离线的环境中,安装head服务. 需要用到的安装包有: node的安装包 elasticsearch的head插件源码 说明:此次只讲述为elas ...

  3. 记录一下自己总结出来的,在内网环境下使用maven打包的各种方法,包括各种常用的打包方式(一)

    (一)内外网代理仓库搭建 想了一下,先用这个MAVEN安装部署的说明随笔,作为自己的第一篇技术帖,往后会陆陆续续将自己研究的心得发出来,留下脚印.希望有大神可以指点 一 .文章主要解决问题说明 1) ...

  4. Linux下搭建maven私服Nexus 3.2.1-01

    1. 私服介绍私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则, ...

  5. kali ms17_010 内网环境下渗透笔记

    一.先用Router Scan 扫描 看清楚了网络拓扑结构. 二.使用MS17-010批量扫描工具 下载:ms17-010Scan.exe  (也可以用kali自带的nmap和ms17-10模块扫) ...

  6. 虚拟机系统ubuntu12.04(内网环境下的虚拟主机)开启远程连接访问

    一.工具准备: 1.内网虚拟机Ubuntu12.04系统主机一台,开放端口为:29999 2.远程连接软件:mobaxterm 二.开启步骤: 1.查看端口状态信息: netstat -antl | ...

  7. Ubuntu 11.10 Server下搭建Maven私服

      安装Nexus服务的文档可以参考官方站点:http://www.sonatype.com/books/nexus-book/reference/install-sect-install.html ...

  8. Docker 环境下搭建nexus私服

    一.安装docker 1.脚本安装 本机环境CentOS7,用户为root 下载脚本到工作目录 curl -fsSL https://get.docker.com -o get-docker.sh 执 ...

  9. 小伙伴问我:如何搭建Maven私服?我连夜肝了这篇实战文章!!

    写在前面 十一假期期间,也有很多小伙伴不忘学习呀,看来有很多小伙伴想通过十一长假来提升自己的专业技能!这不,就有小伙伴在微信上问我:如何搭建Maven私服?让我专门推一篇搭建Maven私服的文章.安排 ...

随机推荐

  1. jquery实现图片切换

    <div> <img class="imgclick" src="img/pic1.png" /> </div> <s ...

  2. Java基本的线程操作(附代码)

    啦啦啦啦,从头整理一遍java并发的内容.开始是基本的线程操作 线程状态切换: 新建线程: @Test public void newTread(){ Thread t1 = new Thread(n ...

  3. JavaScript--自定义事件Event

    在开发过程中,js原生事件不足以满意开发需求,需要开发者自定义事件. 一.Event Event()构造函数创建一个新的Event. event = new Event(typeArg,eventIn ...

  4. Zookeeper简介&应用场景

    简介 将zookeeper看作一个服务,为了服务的高可靠,这个服务也是集群组成的,少数(少于n+1)机器挂掉可以通过选举产生一个leader,不会影响这个服务可用性 主要应用场景: 配置文件管理 集群 ...

  5. 如何实现数组与List的相互转换

    List转数组:toArray(arraylist.size()方法 数组转List:Arrays的asList(a)方法 List<String> arrayList = new Arr ...

  6. 使用SQL中的update更新多个字段值

    使用SQL中的update更新多个字段值,set后面的条件要用逗号不能用and set后面的多个条件之间没有关联也不可以有关联,所以就不能用and了:where 条件后面 可以为and 如: upda ...

  7. 在不切换分支的情况下,如何在all branches中快速查看指定分支,相对其他分支的状态

    假设需要查看的分支为temp 1.git show temp 通过这个可以拿到commit id 2.查看TortoiseGit的日志,左下角勾选所有分支 3.在日志界面搜索commit id,然后右 ...

  8. GDPR全文翻译(二)

    第三节 数据保护影响评估以及事先咨询 第35条 数据保护影响评估 1.鉴于一种数据处理方式,尤其是使用新技术进行数据处理,统筹考虑处理过程的性质.范围.内容和目的,(不难得知)这很可能对自然人权利和自 ...

  9. Java并发包线程池之ForkJoinPool即ForkJoin框架(二)

    前言 前面介绍了ForkJoinPool相关的两个类ForkJoinTask.ForkJoinWorkerThread,现在开始了解ForkJoinPool.ForkJoinPool也是实现了Exec ...

  10. ISO/IEC 9899:2011 条款6.4.3——通用字符名

    6.4.3 通用字符名 语法 1.通用字符名: universal_character-name: \u hex-quad(四位十六进制数) \U hex-quad hex-quad hex-quad ...