背景

  最近接手一个其他公司的项目,因为工程中使用了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. 「CF375E」Red and Black Tree「树形DP」

    题意 给定一个结点颜色红或黑的树,问最少进行多少次交换黑.红结点使得每个红结点离最近的黑结点距离\(\leq x\). \(1\leq n \leq 500, 1 \leq x \leq 10^9\) ...

  2. NetworkX系列教程(6)-对graph进行操作

    小书匠Graph图论 graph生成后,除了有查看操作,还有移除等操作,还有其他更多操作,具体可以看这里.下面将比较graph操作前后的不同. 目录: 7.对图进行操作 7.1移除某些节点和边 7.2 ...

  3. git .gitignore 有时不起作用的问题

    有时候,.gitignore 会对部分文件 / 文件夹失效,大概原因是由于新创建的文件已经出现在 git 本地仓库的缓存,所以.gitignore 就失效了 解决办法就是清空一下 git 仓库的缓存, ...

  4. hadoop笔记-hdfs文件读写

    概念 文件系统 磁盘进行读写的最小单位:数据块,文件系统构建于磁盘之上,文件系统的块大小是磁盘块的整数倍. 文件系统块一般为几千字节,磁盘块一般512字节. hdfs的block.pocket.chu ...

  5. mvn ssm 异常 org.springframework.beans.factory.BeanCreationException:Error creating bean with name 'multipartResolver'

    解决方案: 添加 commons-fileupload-1.2.jar <!-- https://mvnrepository.com/artifact/commons-fileupload/co ...

  6. Python基础之定义有默认参数的函数

    1. 构建有默认参数的函数 当我们在构建一个函数或者方法时,如果想使函数中的一个或者多个参数使可选的,并且有一个默认值,那么可以在函数定义中给参数指定一个默认值,并且放到参数列表的最后就行了.比如: ...

  7. ICEM-缺角正方体(拓块)

    ​原视频下载地址:https://yunpan.cn/cqFIqQWrNqzNc  访问密码 6fb4

  8. POM 标签大全详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  9. Docs-.NET-C#-指南-语言参考-预处理器指令:#else(C# 参考)

    ylbtech-Docs-.NET-C#-指南-语言参考-预处理器指令:#else(C# 参考) 1.返回顶部 1. #else(C# 参考) 2015/07/20 #else 允许创建复合条件指令, ...

  10. 015-命令行下载安装brew

    一.brew 1.安装Homebrew 安装命令: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/inst ...