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

想了一下,先用这个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. ubuntu学习笔记--不断更新中

    1.rpm软件包相关: rpm软件包安装命令: rpm -ivh linuxqq-v1.0.2-beta1.i386.rpm rpm软件默认安装路径查询: rpm -ql *.rpm ubuntu如何 ...

  2. JavaScript 函数作用域和闭包

    函数作用域和闭包  词法作用域   它们在定义它们的作用域里运行,而不是在执行的作用域运行,但是只有在运行时,作用域链中的属性才被 定义(调用对象),此时,可访问任何当前的绑定.   调用对象     ...

  3. JavaScript Arguments 实现可变参数的函数,以及函数的递归调用

    //可变参数的函数 注:也可以使用对象作为参数来实现 function Max() { var temp = arguments[0] || 0; for (var i = 1; i < arg ...

  4. Max Min Middle

    /*三者中的中间数*/#define Max(a,b) (a>b?a:b) #define Min(a,b) (a<b?a:b) int MiddleOfThree(int a, int ...

  5. javascript 关于一周前一个月前的处理方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. java学习笔记(10) —— ActionContext、ServletActionContext、ServletRequestAware用法

    核心思想 1.ActionContext HttpServletRequest getAttribute setAttribute ActionContext get put //ActionCont ...

  7. RBAC角色权限设计思路

    1 设计思路 为了设计一套具有较强可扩展性的用户认证管理,需要建立用户.角色和权限等数据库表,并且建立之间的关系,具体实现如下. 1.1 用户 用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名.密 ...

  8. sae Servlet class XXXX is not a javax.servlet.Servlet

    以前都是使用myeclipse开发web工程上传sae后没有问题,但是使用javaee导出war包上传sae 无法访问 Servlet class  XXXX is not a javax.servl ...

  9. 离线破win2003域账号密码(更新域数据库不在默认路径的情况)

    国内网站讲了许多方法,很多也讲得不清楚.我把我尝试成功的经验跟大家分享. 方法是按照tim的文章操作,链接如下: http://pauldotcom.com/2011/11/safely-dumpin ...

  10. Drag & Drop and File Reader

    参考 : http://www.html5rocks.com/zh/tutorials/file/dndfiles/ http://blog.csdn.net/rnzuozuo/article/det ...