maven本地仓库中已有jar包,项目却读取不了

1、问题描述

前置条件:项目中有些jar包需要从私服获取,在pom.xml中配置了私服的仓库地址(通过标签)。

  • 问题1:由于在maven的配置文件(setting.xml)中配置了镜像源,导致凡是需要从私服下载的jar包都无法下载。
    解决方法:不配置镜像源。(其实正常情况下,不配置镜像源,下载速度也只是略微慢了一点,所以建议安装maven时不再配置镜像源)
  • 问题2:有些jar包在central仓库中存在却无法下载。
    解决方法:新建一个空的maven工程,把这些依赖导入该工程的pom.xml中,然后就可以了。(可能是在原项目的pom.xml中配置了私服仓库地址,具体原因仍未可知…)
  • 问题3:有些从私服下载的jar包在本地仓库中已经存在,项目却识别不到。
    解决方法:网上许多帖子都说把_remote.repositories*.lastUpdated文件删除就行,然而我都没有成功。最后还是 解决 Maven 本地仓库有jar包,但是不读取,因为这个包是私服 这篇博客解决了问题。这里就简要描述一下步骤:
    假如需要如下依赖:
    <dependency>
    	<groupId>org.eclipse.cdtgroupId>
    	<artifactId>org.eclipse.cdt.coreartifactId>
    	<version>5.11.0version>
    dependency>
    
    1. 在浏览器上打开私服仓库地址,下载所需jar包;
    2. 同时按 windows+R,输入 cmd,打开命令行窗口,输入如下命令:(建议在执行该命令前,先把本地仓库中下载的相关文件删除)
    mvn install:install-file -Dfile=D:\File\Downloads\org.eclipse.cdt.core-5.11.0.jar -DgroupId=org.eclipse.cdt -DartifactId=org.eclipse.cdt.core -Dversion=5.11.0 -Dpackaging=jar
    
    命令介绍:
    • -Dfile:下载的jar包路径
    • -DgroupId:标签org.eclipse.cdt中的值
    • -DartifactId:标签org.eclipse.cdt.core中的值
    • -Dversion=5.11.0:标签5.11.0中的值

你可能感兴趣的:(maven,jar,eclipse)