maven 依赖包找不到 (转)

1,手动添加jar包

例:

maven在集成Oracle驱动的时候从远程仓库下载不下来ojdbc14

报missing artifact com.oracle:ojdbc14:jar:10.2.0.3.0

下载jar,导入到maven中

下载地址:http://pan.baidu.com/s/1jGwsKT4


运行:

 

  1. mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.3.0 -Dpackaging=jar -Dfile=F:\迅雷下载\ojdbc14-10.2.0.3.0.jar  

 

    1. <dependency>  
    2.             <groupId>com.oracle</groupId>  
    3.             <artifactId>ojdbc14</artifactId>  
    4.             <version>10.2.0.3.0</version>  
    5.             <scope>test</scope>  
    6.         </dependency

 

2,Maven Dependency 下载失败问题

摘要: 在使用Maven私服Sonatype Nexus的时候,经常会出现依赖包找不到的问题. 此时通过浏览器去私服页面查看,发现依赖包坐标是存在的,对应的文件(比如jar文件). 或者私服上面也找不到文件,但是引入的中央仓库或者其他公服上面有文件.

前言

在使用Maven私服Sonatype Nexus的时候,经常会出现依赖包找不到的问题.

此时通过浏览器去私服页面查看,发现依赖包坐标是存在的,对应的文件(比如jar文件).  

或者私服上面也找不到文件,但是引入的中央仓库或者其他公服上面有文件.

@Author duangr

@Website http://my.oschina.net/duangr/blog/182134

1.问题描述

在通过pom.xml中的依赖坐标,从私服下载依赖包时,往往会遇到如下的类似问题:

The container 'Maven Dependencies' references non existing library '${groupid}/${artifactid}-${version}.jar'

e.g.

The container 'Maven Dependencies' references non existing library 'E:\Maven\repo\org\apache\hadoop\hadoop-yarn-api\2.0.0-cdh4.5.0\hadoop-yarn-api-2.0.0-cdh4.5.0.jar'

2.解决方案

上面问题往往是在下载依赖过程中网络出现问题导致的.

此时我们本机已经开始下载依赖代码,但是下载失败,本机仓库中会在${MAVEN_repo}/${groupid}/${artifactid}/${version} 路径下面生成 *.lastUpdated 的文件.

*.lastUpdated实在可恶,下次再下载时由于它的存在Maven不会再去私服中下载

2.1 解决方法:(针对PC与Maven私服之间网络传输问题)

  1. 打开本地仓库所在目录, 通过win文件夹的搜索功能,查找 *.lastUpdated ,然后将找到的文件全部删除

  2. 重新 Maven Update Project,

    1. 若在eclipse中操作时勾选上 Force Update of Snapshots / Releases

    2. 若在命令行操作时增加 -U 参数

一般情况下上面方法即可解决问题. 若问题依然存在,请确认下主机与Maven私服之间网络是否畅通.可以通过在浏览器中打开私服地址确认.

若本机与私服之前网络畅通,那这个问题可能是由于私服与中央仓库(或者其他第三方仓库)之间下载依赖时网络故障导致的.

2.2 解决方法:(针对私服与中央仓库或第三方仓库之间网络传输问题)

  1. 使用管理员登陆私服页面(Sonatype Nexus)

  2. 在仓库的浏览页面找到下载失败的包, 右键菜单 "Update Index", 右键菜单 "Expire Cache" 

  3. 按照PC与私服之间网络问题的解决步骤处理一遍

posted on 2017-03-05 19:26  xiaopangzhi  阅读(1063)  评论(0编辑  收藏  举报