背景

  最近接手一个其他公司的项目,因为工程中使用了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. selenium + chromeDriver的ip代理设置

    from selenium import webdriver from selenium.webdriver.chrome.options import Options import zipfile ...

  2. gdb 预备知识

    1.gcc的-g选项 如果要使用gdb进行调试,必须在编译时在gcc中加入-g选项,使用参数 -g 表示将源代码调试信息编译到可执行文件中. #include <stdio.h> int ...

  3. wepy项目的学习

    使用Promise 开发实时编译 wepy build --watch 安装依赖 cd myproject npm install 安装(更新) wepy 命令行工具. npm install wep ...

  4. 关闭linux下的主板响声(主板蜂鸣器)

    在从deepin的kdd桌面换到xfce桌面后,命令行和界面操作上动不动会让主机响一声. manjaro的xfce版也是如此,不知道是不是linux下xfce的通病. 主要是搜索的时候百度的结果很奇葩 ...

  5. scrapy框架自定制命令

    写好自己的爬虫项目之后,可以自己定制爬虫运行的命令. 一.单爬虫 在项目的根目录下新建一个py文件,如命名为start.py,写入如下代码: from scrapy.cmdline import ex ...

  6. 我的BO之状态控制

    我的BO 1-我的BO之强类型 2-我的BO之数据保护 3-我的BO之状态控制 4-我的BO之导航属性 MIS常有状态 信息管理系统(MIS)常常有流程,一个流程由多个环节构成,不同的环节的流转通过状 ...

  7. SpringCloud介绍及入门(二)

    接口的实现 在user_service_interface中添加一个User的类. 增加私有属性 id,name , 并利用快捷键Alt+Insert 实现get,set的快速生成. 实体类User ...

  8. Java 面向对象(十一)

    常用类之集合 集合:就是用来存放数据的一个容器. 数组和集合的区别 (1)数组能存基本数据类型和引用类型:集合当中只能存放引用数据类型,直接放基本数据类型,也会自动帮你装箱(把基本数据类型转成对象), ...

  9. git 比较两个分支不同的commit

    比如我们有 2 个分支:master, dev,现在想查看这两个 branch 的区别,有以下几种方式: undefined 1.查看 dev 有,而 master 中没有的: 1.查看 dev 有, ...

  10. 微信小程序里自定义组件,canvas组件没有效果

    methods: { /** * el:画圆的元素 * r:圆的半径 * w:圆的宽度 * 功能:画背景 */ drawCircleBg: function (el, r, w) { const ct ...