(一)内外网代理仓库搭建

想了一下,先用这个MAVEN安装部署的说明随笔,作为自己的第一篇技术帖,往后会陆陆续续将自己研究的心得发出来,留下脚印.希望有大神可以指点

一 、文章主要解决问题说明

1) 由于各种原因限制,必须在内网进行java等的开发工作

2)由于网络限制,外网下包困难

3)构建、打包、测试、部署方便一体化

4)解决java包依赖关系冲突问题

5)可方便在开发时候跟进各种官方API源码进行学习

二、代理仓库的搭建

1) 其实如果是在外网开发,只需要一个MAVEN就足够了,但是在内网,离开了中央仓库的MAVEN等于失去了獠牙的老虎.所以在内网构建一个代理仓库是能够很好使用MAVEN的基础.

2)我的搭建方式:

代理仓库有很多,我就推荐我自己觉得好的代理仓库nexus 可以在官网下载nexus的包,nexus代理仓库是可以免费使用的.当然土豪可以购买,享受该仓库更专业方面的服务.不过我们来说,构建MAVEN能用的代理仓库,免费版就足够了

需要下载的包:maven.tar.gz nexus.tar.gz jdk

jdk的安装我就不说了。maven和nexus可自行去下最新版,这些都是公共的都能下的到,当然如果有朋友有需求,我可以把我的包分享给大家

选择一台能连接外网的机器

将nexus解压到目录,因为nexus几乎可以在任何环境下运行,所以linux和windows都可以,解压后,确定JAVA_HOME配好,进入bin目录选择自己的操作系统,如果是windows,直接双击bat文件 如果是linux,输入启动命令 ./nexus [启动模式] 。

这里启动有很多种。一般我主要用console start stop方式。console启动后,打在控制台,控制台关闭服务就关闭。start 和stop会打成后台服务。关闭控制台照样能运行

启动后在浏览器输入http://127.0.0.1:8081/nexus 若能看见nexus仓库界面,即表示安装完成

点击右侧log in输入账号密码admin admin123

点击左侧repositories进入仓库设置界面。这里有很多仓库很多用法,有兴趣的朋友可以自己去查资料研究。我这边只介绍能用来作MAVEN代理的基本功能

在代理仓库中选择central仓库,在下方点击configuration 在外网环境中一定记得将Download Remote Indexes 设为true,这样代理仓库才会下载索引。而我们需要的正是这个索引

在配置中还有个Remote Storage Location 是远程仓库的地址,可以根据需求自己添加,不过默认的repo1的仓库也已经差不多够用了。如果需要配置其他仓库,可以去搜索其他的仓库地址

配置好后点击保存,然后在Browse remote选项卡中点击刷新,如果能看见远程仓库的索引文件就代表配置成功了

 然后我们需要在外网将这个索引下载下来。需要右键central  选择update index,然后会等待漫长的时间,等待索引文件下好。期间可以查看下载进度在左侧选项栏里面点击Administrator的Scheduled Tasks 
索引文件非常大,经常在一两个G左右。而且会由于一些特殊原因下载不稳定。这时候我们可以去直接下载索引文件,然后拷贝解压到本地索引目录即可
http://repo1.maven.org/maven2/.index/nexus-maven-repository-index.properties
http://repo1.maven.org/maven2/.index/nexus-maven-repository-index.gz
这是下载地址,下载后,将nexus仓库关闭,然后解压到索引目录即可。
因为nexus启动后默认会在同级安装目录建设本地仓库,所以进入sonatype-work进入indexer目录,因为我们的代理名为central所以找到central-ctx ,将下载好的文件解压进去后。重新启动nexus,若能在central 的browse index中看到和remote一样的索引,即代表成功完成。
到此外网的nexus代理仓库搭建基本完成,若要通过maven进行访问需要代理仓库地址。我们可以进入public repository中点击configuration 查看centural是否在左侧中,若没有就添加进去,然后将public仓库的地址拷贝出来,一般情况下是http://127.0.0.1:8081/nexus/content/groups/public/ 将这个地址配置进MAVEN中即可访问该代理仓库。
 
外网代理仓库配好后,我们需要在内网也搭建一个。这个比较简单。直接将我们刚刚搭好的外网代理仓库的安装目录和仓库目录全部拷贝到内网中即可。记得一定要将sonatype-work带上,这才是仓库地址。在内网选好位置后,将两个文件拷贝过去。注意目录同级。然后启动nexus(同样使用适合自己的操作系统启动) 启动后,在浏览器中输入nexus仓库地址,能和外网一样,进入并且看见browse index即代表完成。
 
至此代理仓库搭建基本完成。下面将逐步介绍内网maven的使用,以及与eclipse的使用。由于时间有限。这些留到下P来讲
 
第一次发技术贴,不太习惯发图,上传好慢。往后有空我会逐步更新。有问题可以提出,想要资源的如果我有我会提供
 
 
 
 

记录一下自己总结出来的,在内网环境下使用maven打包的各种方法,包括各种常用的打包方式(一)的更多相关文章

  1. ArcGIS API for javascript开发笔记(二)——解决ArcGIS Service中的服务在内网环境下无法进行javascript预览问题

    感谢一路走来默默支持和陪伴的你~~~ ----------------------------拒绝转载-------------------------------- 1.问题说明 在使用ArcGIS ...

  2. 内网环境下搭建maven私服小技巧

    背景 最近接手一个其他公司的项目,因为工程中使用了maven,而且里面有很多他们自己封装很多自己的构件(就是jar.war等等),需要将他们maven私服迁移到我们的私服上去,因为网络环境不通,所以不 ...

  3. 在内网环境使用WPAD/PAC和JS攻击win10

    转:https://mp.weixin.qq.com/s/qoEZE8lBbFZikKzRTwgdsw 在内网环境使用WPAD/PAC和JS攻击win10 2018-03-01 wangrin 看雪学 ...

  4. 断网环境下利用pip安装Python离线安装包

    这几天搞Windows离线断网环境下安装Python包,配置环境,各种坑!做个记录,供以后查询吧. # 生产环境 windows 7 # python 2.7.9 # pip 1.5.2 友情提示:当 ...

  5. ArcGIS for Service中JavaScript预览在内网环境无法使用

    1.问题说明 在使用ArcGIS for Service时经常会遇到一个问题,那就是我们需要对已经发布的服务进行预览,预览时点击对应服务,选择View in中的ArcGIS JavaScript就可在 ...

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

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

  7. [Linux]非外网环境下配置lnmp心得

    1.安装gcc编译器 基本所有编译安装包都需要gcc编译器,而且编译安装gcc也需要一个编译器,这是一个悖论.所以,这里只能寻求rpm包安装.但是rpm包需要匹配特定的操作系统内核,所以没有一个通用的 ...

  8. linux服务器没网情况下手动安装软件几个方法

    1,找到一个有网的服务器,使用yumdownloader gcc,获取需要的rmp包: 2,在http://pkgs.org 下下载所需要的rpm包

  9. 离线环境下安装ansible,借助有网环境下pip工具

    环境 有网的机器(192.168.19.222):rhe65,python2.7.13,pip9.0.1 离线机器(192.168.19.203):rhe65,python2.6 FTP(192.16 ...

随机推荐

  1. vs2013+sql server2012 +win8.1+entity framework + linq

    项目右键添加类选择“ADO.NET实体数据模型” 选择“空……” 项目会自动产生后缀.edmx的文件(ModelTest.edmx),会自动添加引用System.Runtime.Serializati ...

  2. FAL[client]: Failed to request gap sequence GAP - thread 1 sequence 29-29

    一:问题描述 主备库所在机器都重启后,rac(主库)开机自动启动,但备库(单实例)不是开机启动,现已手工启动到mount,并已在备库上alter database recover  standby d ...

  3. AFNetworking3.0出现Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable

    在发送请求后一直报错, 浏览器解析却没有问题, 所以基本可以确定是AFNetworking的问题 下面是解决方法: AFHTTPSessionManager *manager = [AFHTTPSes ...

  4. java 代码第一天练习

    这个是在其他博文中看到的http://blog.sina.com.cn/eltaera,用来记录学习分享 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个 ...

  5. 高放的python学习笔记之基本语法

    python与c++的不同之处 python的语句块不是用{}括起来的而是冒号后面跟一些与比当前语句多一的tab缩进的语句. 1.定义变量 python的变量类型不需要人为指出,会根据赋值的类型决定此 ...

  6. CSS分别设置Input样式(按input类型)

    当你看到<input>这个html标签的时候,你会想到什么?一个文本框?一个按钮?一个单选框?一个复选框?……对,对,对,它们都对.也许你可能想不到,这个小小的input竟然可以创造出10 ...

  7. 流Stream个人学习理解

    1.Stream类 命名空间:System.IO 程序集:mscorlib 流是对字节序列的抽象,提供字节序列的一般视图. 流的操作包括三个方面: 1.读取(Read):将流数据传入到数据结构 2.写 ...

  8. jquery读取后台代码

    前台代码: <script type="text/javascript"> $(function () {            $("#btn") ...

  9. Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据

    Title:Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据 --2013-10-11 11:57 #include <stdio.h> ...

  10. 布置第一个JBOSS服务器

    还是要通过实践慢慢积累感觉.. SERVLET的制作,JAVAC的编译... package com.manning.jbia.intro; import java.io.IOException; i ...