【转载】Nexus添加新Repository后Maven仍找不到jar包的解决方案

Maven是个好东西,除了可以像ant一样构建外,还可以让我们申明式的取得jar包并且处理依赖包问题。maven好虽好,但他的jar包都是要去联网下载的,如果网上没有jar(比如oracle驱动、ibe接口等),或者不能上网(比如我们公司的内外网分离),那他就费了。 

所以,maven需要个伙伴那就是“私服”,个人只接触过nexus,所以就用nexus了。。。 

几步配置以后(很简单 网上很多教程),所有jar就都从nexus中下载了,并且可以方便的添加自己jar和自己的非主流repository。。。 

但在使用一段时间后,有个问题不断浮现,并且一直困扰我,就是当我要build一个工程的时候,报错说缺少xxx.jar包,ok,一般情况下是不在正常的repository中,要添加其他的repository(比如:scala-tools.org),之后我去nexus中加一个proxy repository后并且配入public repository,并欣喜的启动maven,但还是有如此错误 

Failure to find xxx:jar:1.0 in http://localhost:8081/nexus-webapp-1.9.0/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced 

但问题我已经配好了啊!最后关键就是错误中这段was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced 

之后 去自己的.m2 文件夹下把 xxx.lastUpdated文件全部删掉,重新运行maven,ok!或者在用maven时加 -U参数,就可以忽略xxx.lastUpdated.. 

有人说这样也可以: 

就是去nexus里去先"Update Index"再"Expire Cache"...但我试了貌似没有效果 

希望对大家在遇到相同问题时有帮助...
上一篇:JSON和XML格式与对象的序列化及反序列化的辅助类


下一篇:轻松学习Linux之内核编译