实际项目中,我们往往都是多人开发,这个时候,假如一个项目有300多M.用的jar包有100多个.只要项目组来一个人就从中央仓库下载依赖的jar,这种下载一般都需要持续很久.而且中央仓库一般都是配置在外网的.这种代价和传输是很慢和不划算的.这个时候,我们就需要构建自己的私服,即

开发人员->私服(局域网)->中央仓库(外网)

这个时候,开发人员,会首先访问私服看有没有jar有的话,直接从私服下载,没有的话,会从中央仓库中寻找.大大提高了传输的效率.

私服搭建工具

当然,目前最流行的私服搭建工具就是:sonatype Nexus

我们可以自己去下载http://www.sonatype.org/  下载需要翻  墙.我这里提供一个,我今天刚下载的哈.百度网盘.

链接:http://pan.baidu.com/s/1mgzUJsW 密码:4wip

下载好后,是个压缩包,直接解压.然后找到bin目录,将此目录配置到环境变量.

配置环境变量后,打开cmd以管理员命令,窗口输入:nexus

看到这个图,说明已经安装成功.

安装私服

nexus install(该命令需要管理员权限)

会自动安装.安装成功后,我们可以输入net start nexus

当提示启动成功后,打开浏览器输入:http://locahost:8081/nexus;   用户名和密码:admin/admin123.

私服的使用

私服的界面

在这个界面我们能看到type为group,hosted,proxy,virtual(不常用).大概四中类型.其中常用的是group,hoste,proxy

hosted:是开发人员开发完项目,提交到这里面(hosted分别有:Releases,Snapshots对应maven开发项目中的version,3rd party表示从pom文件或者某一个jar)

通常开发中,我们用group类型对应的中央工厂来部署:

复制右边的私服链接,打开我们的pom.xml在里面添加:

<!-- nexus私服配置 -->
<repositories>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<!--snapshots默认是关闭的,需要开启  -->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>

这个时候,我们的私服就搭建好了.

私服搭建最佳实践

按照上面配置是实现了私服搭建,但是,这样的配置,如果我们创建一个项目,就需要配置一次,很麻烦.有没有一种方法,只让我们配置一次,后面都不需要配置呢?

我们知道,maven有个setting.xml,其实,我们可以将上面的私服配置在maven的setting.xml里面.这样就可以实现了.

maven学习笔记五(仓库搭建,私服配置)的更多相关文章

  1. Maven学习笔记-02-Maven项目打包配置与测试

    一 Maven项目打包配置 1 为整个项目统一指定字符集 <properties> <project.build.sourceEncoding>UTF-</project ...

  2. MAVEN学习笔记之私服Nexus(2)

    MAVEN学习笔记之私服Nexus(2) 私有服务器搭建 Nexus www.snatype.org下载 snatype-work 是默认nexus存储nexus a:将bin添加到环境中 Admin ...

  3. go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时])

    目录 go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时]) 静态配置 flag注入 在线热加载配置 远程配置中心 go微 ...

  4. Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  5. Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  6. 【Maven学习】Nexus OSS私服仓库的备份与迁移

    背景 在上一篇博客 [Maven学习]Nexus OSS私服仓库的安装和配置 中,我们已经在机房搭建好了新的Nexus OSS私服仓库.下面是两个版本的Nexus OSS私服仓库的对比图. 老的Nex ...

  7. Maven学习笔记—仓库

    Maven仓库 1 什么是Maven仓库 在Maven中,任何一个依赖.插件或者项目构建的输出,都可以成为构件,而Maven通常在某个位置统一的存储所有Maven项目共享的构件,这个统一的位置就是Ma ...

  8. (转)Maven学习总结(五)——聚合与继承

    孤傲苍狼只为成功找方法,不为失败找借口! Maven学习总结(五)——聚合与继承 一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 1 <mod ...

  9. python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍

    python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍 IDLE默认不能显示行号,使用ALT+G 跳到对应行号,在右下角有显示光标所在行.列.pycharm免费社区版.Su ...

随机推荐

  1. 二代身份Zheng复印(手机正反面拍照生成1:1复印件图像)

    下载地址 2017年7月28日 1.支持文字水印:2.优化程序,修复Bug:3.升级版本为1.1. 2017年7月17日1.二代身份*证正面(白色按钮).反面(蓝色按钮)拍摄后,退出APP自动生成A4 ...

  2. Webpack 4 SplitChunksPlugin配置方案(转)

    通常情况下我们的 WebApp 是有我们的自身代码和第三方库组成的,我们自身的代码是会常常变动的,而第三方库除非有较大的版本升级,不然是不会变的,所以第三方库和我们的代码需要分开打包,我们可以给第三方 ...

  3. Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢?

    Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢? 可视化图表,有相当多种,但常见的也就下面几种,其他比较复杂一点,大都也是基于如下几种进行组合,变换出来的.对于初学者来说,很容易被这官网上 ...

  4. Windows SVN迁移到Linux 服务器

    一.备份VisualSVN项目 1. 现在要使用Linux作为svn服务器,之前是在windows Server 2008上的,用的是VisualSVN, 如下图所示. 2. 现在svn中有一个项目f ...

  5. Django Model 模型

    参考: https://www.runoob.com/django/django-model.html https://www.cnblogs.com/taosiyu/p/11260000.html ...

  6. 史上最全的中高级Java面试题汇总

    原文链接:https://blog.csdn.net/shengqianfeng/article/details/102572691 memcache的分布式原理 memcached 虽然称为 “ 分 ...

  7. 缓解DDoS && cc 的最佳Linux内核设置 (转)

    https://javapipe.com/blog/iptables-ddos-protection/ kernel.printk = 4 4 1 7 kernel.panic = 10 kernel ...

  8. Java并发之等待/通知机制

    目录 1 前言 1.1 先来段代码放松一下 2 Object wait()/notify() 2.1 一段入门代码 2.2 问题三连击 a.为什么官方说wait() 要放在while里面? b.为什么 ...

  9. 定时杀死mysql中sleep的进程

    #!/bin/sh date=`date +%Y%m%d\[%H:%M:%S]` n=`mysqladmin -uroot -p** processlist | grep -i sleep | wc ...

  10. json_encode不自动转义斜杠“/”的方法

    默认的情况之下使用 json_encode 对数组进行 json 格式的转换时候会自动的将数据中含有斜杠的字符串进行转义,如图 两种解决办法   其一,正则替换: $a = str_replace(& ...