这几天碰上一个比较恶心的问题,我在内网开发,打开一个新项目时依赖导不进来,我平常用的setting文件跟maven仓库也是没有问题的,一直找不到问题。
后来看了几篇文章,发现了问题:打开Maven仓库发现每次在idea中刷新maven的时候都会在仓库中生成lastUpdated的文件,即使删除,刷新后还是会出现这个文件。
产生这个问题的原因是访问的是远程仓库并没有访问本地仓库,但是又因为是在内网,没办法访问远程仓库才一直报错!!
解决方案一:
- 确认刷新过多遍maven后还没作用,点击Idea左上角的File,再点击Invalifate Caches/Restart
- 再点击下图所示的按钮,等重启完以后再看看
解决方案二:
- 在项目的根目录下建一个lib文件夹,将依赖仓库中的jar包放到该目录下
- 将依赖改成以下方式:
<dependency>
<groupId>com.lnsoft.utc</groupId>
<artifactId>utc-core-sdk</artifactId>
<version>0.0.1.RELEASE</version>
<scope>system</scope>
<systemPath>${basedir}/lib/utc-core-sdk-0.0.1.RELEASE.jar</systemPath>
</dependency>
- 在项目中重新刷新maven,搞定!
解决方案三:
- 删除仓库中所有的lastUpdated文件,在仓库中打开cmd,输入命令:for /r %i in (*.lastUpdated) do del %i
- 删除仓库中所有的repositories文件,在仓库中打开cmd,输入命令:for /r %i in (*.repositories) do del %i
- 在maven中的settings文件中加入本地依赖,如下:
<project>
...
<repositories>
<repository>
<id>my-internal-site</id>
<url>file:///C:/MyLocalRepository</url>
</repository>
</repositories>
...
</project>
- 在项目中重新刷新maven,搞定!
解决方案四:
- 在本地仓库中找到没有引入的jar,将他放到D盘的根目录下,在仓库中把这个文件夹下jar包、pom文件等都删掉
- 在maven文件夹下打开cmd:
- 然后输入一下指令:
mvn install:install-file -DgroupId=org.testng -DartifactId=testng -Dversion=7.0.0 -Dpackaging=jar -Dfile=D:\testng-7.0.0.jar
- 在maven仓库中能看到有新的jar包
- 在项目中重新刷新maven,搞定!