搭建自己的maven私服,原因有三个:
1、maven自己的中央库访问速度比较慢,伟大的墙再一闹腾,会时断时续。
2、有些jar包由于版权原因,maven中央仓库没有,比如oracle JDBC驱动。另外也会有一些项目中用到的比较老的开源jar包, 中央仓库也没用。这种情况我们需要把jar包手动上传到私服。
3、公司自己开发的jar包并不开源,不能上传到maven中央仓库,只能部署到私服上面。
私服的数据源
私服里面绝大多数的jar包都来自另外一个私服或者中央仓库。
所以第一件事情是指定私服的数据来源。
Nexus默认设置为Maven中央仓库,但Maven中央仓库实在是太慢,不考虑。
国内稳定的maven镜像我了解的有两个, http://maven.oschina.net/content/groups/public/和http://mirrors.ibiblio.org/maven2/。
两个镜像都不可能和maven中央仓库完全一样,至少会有一定时间的延迟,某些maven中央仓库有的最新版本jar包可能要过一定的时间它们才有。
观察了一下,oschina更新频率更快一些,所以选择了oschina。一般无需太关心时延的问题,两个镜像绝大多数情况下都能满足需求。
私服数据来源设置步骤为, 先登陆,Repositories=>Central=>Configuration=>Remote Storage Location。请把Download Remote Indexes选择为True(默认为False),最后请一定记得点击Save按钮。
如何处理下载失败
pom.xml经常就报找不到某某某jar包的错,很烦很头疼。一句话,这个是网络的问题,下载失败。
正常情况下jar包存在于三个地方,Local仓库,Nexus私服仓库,maven中央仓库。
以所列出的顺序为准,搜索的过程由前往后,下载的过程由后往前。
下载过程分两段,maven中央仓库=>Nexus私服仓库,Nexus私服仓库=>Local仓库,两段都可能出问题。
出问题也没事,重试就行了呗,但maven会在Local仓库中生成一份以lastUpdated结尾的破文件,一个错误的缓存(cache)。要能正确重试,只能手动删除缓存。
先判断是哪一段出错,选择Repositories=>Central=>Brower Storage,
看一下对应的jar包在Nexus私服上面有没有,没有的话,说明maven中央仓库=>Nexus私服仓库下载失败,否则Nexus私服仓库=>Local仓库下载失败。
maven中央仓库=>Nexus私服仓库下载失败处理方法
删除Local仓库的缓存。打开~/.m2/repository文件夹,删除报错jar包所在的文件夹(也可以只删除特定的子文件,提高效率)。
删除Nexus私服仓库的缓存。Repositories=>Central=>Brower Storage,选择对应的目录树,右键先Expire Cache,后Delete。
Nexus私服仓库=>Local仓库下载失败处理方法
这种情况简单很多,只要删除Local仓库的缓存即可。
相关推荐
项目中引用Maven私服仓库的快速配置教程, 帮助开发人员快速进行项目中Maven私服的配置,更灵活地管理自己项目中的Jar包。
maven第三方仓库配置
linux下搭建内网maven私服
Maven三种仓库的配置-私服仓库就配置-附件资源
maven 私服 nexus2 nexus3 安装与说明,只有简单的安装,没有详细的配置使用说明
设置Maven的本地仓库与远程仓库,还是挺简单的,在maven的conf中的setting.xml中配置
Maven私服 Nexus2.14.2 配置了阿里云仓库,国内下载非常快 本人亲自搭建,日常开发中使用并验证
Maven 本地仓库,远程仓库,中央仓库,Nexus私服,镜像 详解,只要学通了这边文章,maven配置你随便折腾
上传第三方jar到maven私服,前提是你已经配置好了部署到maven私服的环境。
apache-maven-3.5.0只配置了中央仓库,只要修改里面的本地仓库地址就可以使用了。 apache-maven-3.5.0-nexus配置了maven私服,有需要的,可以按照格式改成你自己的。
Maven简介 Maven准备 Maven目录分析 Maven本地仓库 IDEA启用Maven功能 IDEA创建Maven工程 IDEA执行Maven命令 Maven配置POM 配置Maven远程仓库(私服)
nexus是一个强大的maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问. nexus是一套开箱即用的系统不需要数据库,它使用文件系统加Lucene来组织数据 nexus使用ExtJS来开发界面,利用Restlet来...
包含nexus仓库服务器及开发人员环境搭建、jar包依赖迁移、配置文件迁移、代码迁移、打包及部署、迁移后测试等内容
文档总结了搭建maven私服管理器nexus时遇到的一些问题,建议各位使用nexus2.*版本; 文档描述了pom以及setting的一些配置
Maven是一个采用纯Java编写的开源项目管理工具 ...有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。
如果安装nexus3.x搭建maven私服,前提需要在Linux服务器安装1.8JDK以及3.xMAVEN版本 1、安装jdk和maven: (1)、下载jdk1.8Linux版本,上传于指定目录下并解压(maven也一样), (2)、执行 vim /etc/profile命令...
配置Nexus代理中央仓库,其它任何公开的Maven仓库,将你组织内部的Maven配置指向Nexus,这样所有构件都将从Nexus下载,如果Nexus没有你要的构件,它会自动先去外部仓库下载到本地,仅一次。 • 本地宿主仓库。Nexus...
最新Maven私服的搭建工具,Nexus安装包,Linux环境下,解压(配置)安装
使maven在没有私服依然可以快速依赖资源包,其中配置了国内多个镜像仓库地址