`

Maven私服问题汇总

    博客分类:
  • mvn
 
阅读更多

最近正着手把公司内部的项目迁移到maven平台。需要搭建一个maven私服,选择的是Nexus(别和Google的Nexus手机混淆了)。至于为什么要搭建自己的maven私服,原因有三个:

  1. maven自己的中央库访问速度比较慢,伟大的墙再一闹腾,会时断时续。
  2. 有些jar包由于版权原因,maven中央仓库没有,比如oracle JDBC驱动。另外也会有一些项目中用到的比较老的开源jar包, 中央仓库也没用。这种情况我们需要把jar包手动上传到私服。
  3. 公司自己开发的jar包并不开源,不能上传到maven中央仓库,只能部署到私服上面。

至于如何安装Nexus 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有些过于复杂了,入门比较难,另外也不够健壮,经常需要花很多时间去和错误和warning作斗争,累。

 

 

 

 

--------------------

 

还有个问题:plugin为什么总是从中央仓库里下载不了???(mvn clean insall的时候),其他JAR可以

分享到:
评论

相关推荐

    搭建maven私服的软件

    而Nexus则是Sonatype公司开发的一款高级的Maven仓库管理器,它可以作为一个Maven私服来使用,方便团队内部共享和管理依赖库。本教程将详细讲解如何搭建并使用Maven私服,主要涉及Maven 3.5.3和Nexus 3.12.1这两个...

    linux下搭建内网maven私服

    Linux 下搭建内网 Maven 私服 Maven 私服是 Maven 仓库的私有化版本,允许开发者在企业内部搭建私有的 Maven 仓库,用于存储和管理项目依赖项。在 Linux 环境下搭建内网 Maven 私服,可以提高项目的构建和部署效率...

    配置Maven私服配置文件setting.xml

    配置Maven私服时,需要修改Maven的默认配置文件,此文件已经配置好Maven私服模板,只需要修改IP和对应的端口号即可

    Windows 下Nexus搭建Maven私服

    为了解决这些问题,搭建 Maven 私服成为了一种常见且高效的解决方案。其中,Nexus 是一款非常受欢迎的 Maven 私服搭建工具。它不仅可以作为团队内部的依赖中心,还能极大地提高构建速度并降低对外部网络的依赖。 ##...

    maven私服教程.zip

    Maven的私服,即Nexus或Artifactory等,是企业内部的一个私有仓库,用于存储和管理组织内部的JAR和其他依赖库,避免了频繁从公共Maven中央仓库下载,提高了开发效率和网络稳定性。 本教程将详细介绍如何搭建和使用...

    阿里云maven私服jar包上传和拉取教程

    ### 阿里云maven私服jar包上传和拉取教程 #### 一、搭建阿里云maven私服仓库 在开始之前,确保你已经具备了阿里云账号,并且熟悉基本的Maven操作。 1. **注册并登录阿里云平台**: - 访问阿里云官网,完成注册与...

    maven私服搭建文档

    maven私服搭建文档里简单介绍了maven私服的搭建及配置

    maven私服demo

    Maven私有仓库(或称为“私服”)是Maven项目构建过程中用来存储和分享依赖的一种解决方案,它在企业环境中尤其重要。Maven私服允许团队在内部管理依赖库,避免频繁地从外部公共仓库下载,提高构建速度,并且可以对...

    Nexus搭建Maven私服 +maven安装步骤

    Nexus 搭建 Maven 私服 + Maven 安装步骤 Nexus 是一个功能强大且灵活的仓库管理工具,能够帮助开发团队更好地管理项目依赖项和构件。通过搭建 Nexus 私服,可以实现项目依赖项的集中管理、加速项目构建和部署、...

    Maven私服.zip

    该压缩文件包含nexus-3.37.3-02-win64.zip、如何修改远程仓库地址.docx、如何在Windows下搭建Maven私服.docx和视频地址.txt等四个文件,主要介绍了如何搭建Maven私服,视频教程:...

    Maven Nexus 私服搭建

    Maven Nexus 私服搭建 从零开始,资源下载、安装指导、开发配置说明

    在CentOS7上用Nexus3搭建Maven私服.doc

    在本文中,我们将详细介绍如何在CentOS7操作系统上使用Nexus3搭建Maven私有仓库。首先,确保系统已经安装了Java Development Kit (JDK) 8和Maven3。安装这两个组件的具体步骤可以通过搜索引擎获取。 一、所需环境 ...

    maven私服nexus最新版本2.14

    ** Maven 私服 Nexus 最新版本 2.14 知识详解 ** Maven 是一个广泛使用的项目管理和综合工具,它通过管理项目的构建、依赖关系以及发布等流程,简化了 Java 应用的开发过程。Nexus 是 Sonatype 公司推出的一款强大...

    maven 私服 nexus3 安装包

    总结,Nexus3 是一个强大且灵活的 Maven 私服解决方案,虽然在使用过程中可能会遇到各种问题,但通过了解其工作原理和配置细节,我们完全可以克服这些困难,充分利用它来优化软件开发流程。在日常开发中,不断学习和...

    使用Nexus搭建Maven私服

    使用Nexus搭建Maven私服 标题:使用Nexus搭建Maven私服 ...通过搭建Maven私服,企业可以更好地管理自己的依赖包和插件,提高工作效率,减少带宽浪费和网速慢问题,从而提高项目的开发速度和质量。

    linux-maven-maven私服nexus安装文档

    Linux Maven Maven私服Nexus安装文档主要涵盖了在CentOS操作系统上安装和配置Maven以及搭建Maven私有仓库Nexus的详细步骤。以下是整个过程的详细说明: 1. **安装Maven** - **确认安装源**:首先,你需要检查你的...

    搭建Maven私服,并配置Nexus环境

    然而,当项目涉及大量的私有库或者内部依赖时,直接使用公共Maven仓库可能存在效率和安全问题。这时,搭建一个Maven私服就显得尤为重要。Nexus是Sonatype公司推出的开源Maven私服,它不仅可以作为内部依赖仓库,还...

    maven私服搭建.pdf

    附件是自己使用docker在内网和外网搭建Maven私服Nexus3所总结的文档,通过该文档可以在内网搭建属于自己的nexus私服,提高自己的生产力。

Global site tag (gtag.js) - Google Analytics