实际项目中,我们往往都是多人开发,这个时候,假如一个项目有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. 在 Hibernate 中inverse的属性

    hibernate配置文件中有这么一个属性inverse,它是用来指定关联的控制方的.inverse属性默认是false,若为false,则关联由自己控制,若为true,则关联由对方控制.见例子: 一 ...

  2. nginx添加sticky模块-cookie保持会话

    cookie不同于session,一个存于客户端,一个存于服务端. 环境nginx 1.8.0 centos6.X sticky:1.2.5  wget https://bitbucket.org/n ...

  3. mysql 8.0下的SELECT list is not in GROUP BY clause and contains nonaggregated column

    mysql的版本 mysql> select version();+-----------+| version() |+-----------+| 8.0.12 |+-----------+ 在 ...

  4. IDEA更改JavaScript版本

    最好改两个地方 File -> File -> -- --

  5. ACM算法锦集

    一:知识点 数据结构: 1,单,双链表及循环链表 2,树的表示与存储,二叉树(概念,遍历)二叉树的 应用(二叉排序树,判定树,博弈树,解答树等) 3,文件操作(从文本文件中读入数据并输出到文本文 件中 ...

  6. C/C++ 快速排序实现

    #include<iostream> using namespace std; void qS(int *array,int left,int right){ if(left<rig ...

  7. 【leetcode】590. N-ary Tree Postorder Traversal

    Recurisve: /* // Definition for a Node. class Node { public: int val; vector<Node*> children; ...

  8. Linux 头文件详解

    概览: 头文件目录中总共有32个.h头文件.其中主目录下有13个,asm子目录中有4个,Linux子目录中有10个,sys子目录中有5个. <a.out.h>:a.out头文件,定义了a. ...

  9. Gradle 翻译 tips and recipes 使用技巧 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  10. 1.将控制器添加到 ASP.NET Core MVC 应用

    模型-视图-控制器 (MVC) 体系结构模式将应用分成 3 个主要组件:模型 (M).视图 (V) 和控制器 (C). 模型(M):表示应用数据的类. 模型类使用验证逻辑来对该数据强制实施业务规则. ...