zoukankan      html  css  js  c++  java
  • Maven本地仓库中有jar包,但项目编译失败,显示jar包不存在

    背景:同事从码云上克隆项目,项目编译不通过,报错信息是有一个jar包在Maven仓库中不存在

    此时,他的本地Maven仓库中确实不存在这个jar包。

    解决步骤:

    1: Idea中,用Maven 的Reimport 重新导包,正常情况下,如果存在本地仓库中没有的jar包,会自动下载。但是,在他电脑上下载不下来(原因:他电脑没有配置Maven的中央仓库为阿里云仓库)。

    1.1 :基于以上情况,有两种解决方案:

      a : 修改Maven的中央仓库为阿里云中央仓库(settings.xml 文件)。

        
      <mirrors>
        <mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>
          <url>
              http://maven.aliyun.com/nexus/content/groups/public/
          </url>
          <mirrorOf>central</mirrorOf>        
        </mirror>
      </mirrors>
    View Code

        好处:服务器在国内,下载速度快;jar包资源更齐全(本次遇到的这个缺失的包,国外的中央仓库没有,阿里云仓库就有)。

      b :不修改中央仓库,从其他地方拷贝一个jar包到他的本地仓库路径下面(本次我们是用的这种方法,后面还遇到了其他坑,请继续往下看...)。

    2:基于以上两种解决方案,我们目前选择的是第二种:直接拷贝 jar 包到他的本地仓库路径下。正常逻辑下此时应该就没有问题了,不料,IDEA 还是编译不通过,还是显示jar包不存在。Reimport 重新导包不行,重启IDEA也不行。

            

     2.1: 解决方案:

      可以看到本地仓库中,有几个 *.lastUpdated 文件,此时我们把这几个 .lastUpdated 文件全部删除,然后重启IDEA,重启后,IDEA就编译通过不报错了。

      这个.lastUpdated 文件是在下载jar包的时候,由于网络不好或中央仓库中没有这个jar 等原因,导致jar包没有下载成功而生成的文件。在这里,删掉这个文件后,IDEA编译就通过了,可能是因为IDEA被这个.lastUpdated文件给误导了,认为本地没有需要的jar包,所以就报错(自己的猜测,没有其他依据来佐证...)。

  • 相关阅读:
    2-4安卓自学
    2-3安卓自学
    2-2安卓自学
    2-1安卓自学
    20210121 Sqlit数据库
    20210119 Sqlit数据库
    20210118 android学习
    20210117 android学习
    20210115 android学习
    20210114 android学习
  • 原文地址:https://www.cnblogs.com/y3blogs/p/13064138.html
Copyright © 2011-2022 走看看