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

想了一下,先用这个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. Jenkins学习之——(4)Email Extension Plugin插件的配置与使用

    1.先安装插件 2.配置 点击高级后 内容配置: 3.项目配置 点击Advanced Settings后 到此所有的配置都设置完成. 附录: 以下内容来自其他网友的博客,内容也没有自己去试,朋友们可以 ...

  2. Oracle数据库名、实例名、数据库域名、全局数据库名、服务名之间的区别

    数据库名.实例名.数据库域名.全局数据库名.服务名 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数据库 ...

  3. java代码实现 金字塔(倒置)

    在jsp中实现如图所示的金字塔,,代码如下: 大致思路如下: 1.先画出前5行.因为 i+空格数=总行数,所以第一行的空格数是 总行数-i(第几行),然后画出 *,*的数目=2*i-11: 2.在画出 ...

  4. C/C++中的++a和a++

    代码: #include <iostream> #include <cstdio> using namespace std; int main(){ ; (++a)+=a; / ...

  5. C++中的函数指针

    寒假这些天在看<The C++ Programming Language, 3rd>. 今天看到Chapter7 Function,里头好一些东西是C语言里没有的,比如overload.p ...

  6. Smtp协议与Pop3协议的简单实现

    前言 本文主要介绍smtp与pop3协议的原理,后面会附上对其的简单封装与实现. smtp协议对应的RFC文档为:RFC821 smtp协议 SMTP(Simple Mail Transfer Pro ...

  7. 1.3.1 switch 语句中的 String

    switch语句是一种高效的多路语句,可以省掉很多繁杂的嵌套if判断: 在Java 6及之前,case语句中的常量只能是byte.char.short和int(也可以是对应的封装类)或枚举常量,在Ja ...

  8. 百度文本编辑器 Ueditor for net 使用七牛存储附件的实现

    百度编辑器功能强大,确实好用,可惜附件使用本地存储,如果网站的用户量巨大,则会使得网站目录变得非常庞大,而且文件不易于管理,七牛云存储在附件存储方面下了不少功夫,用起来感觉不错,要是将ueditor ...

  9. PHP开发环境设置

    步骤有三个: Apache 服务器安装.PHP 安装和让 Apache 支持 PHP 1. Apache 服务器的安装与配置 基于Windows操作系统支持的PHP开发的服务器有IIS和Apache, ...

  10. 数据库 数据库SQL语句五

    集合运算 union 并集(两个集合如果有重复部分,那么只显示一次重复部分) union all 并集(两个集合如果有重复部分,那么重复部分显示两次) intersect 交集 minus 差集 -- ...