解决内网开发Maven导不进依赖

这几天碰上一个比较恶心的问题,我在内网开发,打开一个新项目时依赖导不进来,我平常用的setting文件跟maven仓库也是没有问题的,一直找不到问题。
后来看了几篇文章,发现了问题:打开Maven仓库发现每次在idea中刷新maven的时候都会在仓库中生成lastUpdated的文件,即使删除,刷新后还是会出现这个文件。
产生这个问题的原因是访问的是远程仓库并没有访问本地仓库,但是又因为是在内网,没办法访问远程仓库才一直报错!!

解决方案一

  1. 在项目的根目录下建一个lib文件夹,将依赖仓库中的jar包放到该目录下
  2. 将依赖改成以下方式:
       <dependency>
           <groupId>com.lnsoft.utcgroupId>
           <artifactId>utc-core-sdkartifactId>
           <version>0.0.1.RELEASEversion>
           <scope>systemscope>
           <systemPath>${basedir}/lib/utc-core-sdk-0.0.1.RELEASE.jarsystemPath>
       dependency>
  1. 在项目中重新刷新maven,搞定!

解决方案二

  1. 删除仓库中所有的lastUpdated文件,在仓库中打开cmd,输入命令:for /r %i in (*.lastUpdated) do del %i
  2. 删除仓库中所有的repositories文件,在仓库中打开cmd,输入命令:for /r %i in (*.repositories) do del %i
  3. 在maven中的settings文件中加入本地依赖,如下:
<project>
  ...
  <repositories>
    <repository>
      <id>my-internal-siteid>
      <url>file:///C:/MyLocalRepositoryurl>
    repository>
  repositories>
  ...
project>
  1. 在项目中重新刷新maven,搞定!

解决方案三

  1. 在本地仓库中找到没有引入的jar,将他放到D盘的根目录下,在仓库中把这个文件夹下jar包、pom文件等都删掉
  2. 在maven文件夹下打开cmd:
    解决内网开发Maven导不进依赖_第1张图片
  3. 然后输入一下指令:
mvn install:install-file -DgroupId=org.testng -DartifactId=testng -Dversion=7.0.0 -Dpackaging=jar -Dfile=D:\testng-7.0.0.jar
  1. 在maven仓库中能看到有新的jar包
  2. 在项目中重新刷新maven,搞定!

你可能感兴趣的:(从菜鸡到花里胡哨的菜鸡,maven)