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

想了一下,先用这个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. HTML5触摸屏touch事件使用实例1

    1.源码: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> ...

  2. ASP.Net页面间传值

    一.目前在ASP.NET中页面传值共有这么几种方式: 1.表单提交,   <form action= "target.aspx" method = "post&qu ...

  3. Android Design Support Library: 学习CoordinatorLayout

    简述 CoordinatorLayout字面意思是"协调器布局",它是Design Support Library中提供的一个超级帧布局,帮助我们实现Material Design ...

  4. 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中

    背景:   昨天帮朋友做一个easyui datagrid的小实例时,才发现easyui datagrid的checkbox列,没有根据值为true或false来选中checkbox,当时感觉太让人失 ...

  5. CentOS下php使用127.0.0.1不能连接mysql的解决方法

    这篇文章主要介绍了CentOS下php使用127.0.0.1不能连接mysql的解决方法,本文原因是SELINUX导致的连接失败,需要的朋友可以参考下 php代码很简单: 复制代码代码如下: $ser ...

  6. web安全:xss && csrf

    首先在user.php文件中去除黑名单的第一行标签,在白名单中添加<script>E1:csrf攻击zoobarcsrf:cross-site request forgery    跨站伪 ...

  7. 如何给网页标题栏上添加图标(favicon.ico)

    favicon.ico详解:     favicon是Favorites Icon的缩写,favicon.ico是指显示在浏览器收藏夹.地址栏和标签标题前面的个性化图标. 设置步骤: 1. 把做好的f ...

  8. Update主循环、状态机的实现

    从写一段程序,到写一个app,写一个游戏,到底其中有什么不同呢?一段程序的执行时间很短,一个应用的执行时间很长,仅此而已. 游戏中存在一个帧的概念.   这个概念大家都知道,类比的话,它就是电影胶卷的 ...

  9. (摘)Chart属性设置

    Chart ChartBorder 图表区域的边框设置 ChartFill 图表区域的背景填充 Legend 图表的注释标签显示设置项目,一组数据对应一种颜色的注释 IsHStack 当有多个显示项的 ...

  10. spark1.1.0源码阅读-dagscheduler and stage

    1. rdd action ->sparkContext.runJob->dagscheduler.runJob def runJob[T, U: ClassTag]( rdd: RDD[ ...