【Maven私服之Nexus】
公司一般都有个自己的私服来管理各种jar包,原因大概有这么3个,分别是:
1、有的公司不能访问外网,只能通过私服来管理jar包和插件;
2、公司网速比较慢,通过公司的私服来获取jar包比较快;
3、内部的的一些jar包放在私服上,比较方便的大家使用。
有公共的maven仓库服务器,为什么还要搭建maven私服呢?在本地搭建后有如下几个优点:
1、加速构建;
2、节省带宽;
3、节省*maven仓库的带宽;
4、稳定(应动一旦*服务器出问题的情况);
5、控制和审计;
6、能够部署第三方构件;
7、可以建立本地内部仓库;
8、可以建立公共仓库。
为什么使用Nexus
如果没有私服,我们所需的所有构件都需要通过maven的*仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。
nexus的仓库类型分为以下四种:
group: 仓库组
hosted:宿主
proxy:代理
virtual:虚拟
hosted 宿主仓库:主要用于部署无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)以及自己或第三方的项目构件;
proxy 代理仓库:代理公共的远程仓库;
virtual 虚拟仓库:用于适配 Maven 1;
group 仓库组:Nexus 通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库。