Maven导包爆红(出错)的完整解决思路

本文详细介绍了如何解决Maven导入项目时出现的包缺失或下载失败的问题,包括检查IDEA的Maven配置、添加镜像源、手动删除未成功下载的.jar文件以及在无法自动导入时的手动导入步骤。同时,对于父项目中因依赖版本问题导致的报错,提出了将依赖移到具体项目并指定版本的解决方案。通过这些方法,可以有效处理大部分Maven导包异常。
摘要由CSDN通过智能技术生成

Maven导包爆红(出错)的完整解决思路

相关场景:

1.导入的新项目,maven未把全部的包导入
2.创建父项目用来统一管理整个项目中技术的版本。但是在创建父项目时候较多新技术的jar包未被导入

场景一的解决方案(通用):

步骤一:

  • **主要思路:**检测idea对于maven的配置
    具体步骤:
    点击file->settings->查看maven版本是否和自己下载版本一致、仓库是否是自己在maven的config中settings.xml中配置的仓库位置。以及setting.xml位置是否是刚选择的maven中的settings.xml在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    其中Maven home directory是maven安装位置,User setting file是指你安装的maven中settings.xml的位置,local repository是指在settings.xml中配置的本地仓库的位置。若经过步骤一调整过后仍有问题请看步骤二。

步骤二:

主要思路:增加下载渠道,并且删除旧的下载失败的jar包

具体步骤:

  1. 在setting.xml中的<mirrors>中添加镜像。其中setting.xml在下载的maven中config里;
  2. 删除下载失败的jar包;
  3. 重新导包
    其中setting.xml的位置在下载的maven中的conf(配置文件)中。
    在这里插入图片描述
    镜像需要添加在中,添加的镜像为(若有重复的镜像可以不用再次添加了):
<mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
	<id>alimaven</id>
	<mirrorOf>central</mirrorOf>
	<name>aliyun maven</name>
	<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<mirror>
      <id>nexus</id>
      <name>internal nexus repository</name>
      <!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
      <url>http://repo.maven.apache.org/maven2</url>
      <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
</mirror>
<mirror> 
      <id>Central</id> 
      <url>http://repo1.maven.org/maven2</url> 
      <mirrorOf>central</mirrorOf> 
</mirror>

在本地仓库中搜索以.lastUpdated结尾的文件。这些文件都是下载失败的jar包
在这里插入图片描述
将搜到的所有文件ctrl+a,然后删除即可。
打开相关项目,点击右侧的maven,之后点击reImport即可。
在这里插入图片描述
至此,绝大多数的maven导包异常都已经解决。但是仍可能存在部分包导不进去,此时只能手工导入。

步骤三:

主要思路:一些jar包不知为何无法导入,此时需要手工导包

具体步骤:

  1. 找到在项目的pom.xml无法导入的包;
  2. 找同学或者同事将这些包传给你;
  3. 将这些包放到对应位置,然后重启idea即可(或者reimport都行,可能不做操作也可)

在这里插入图片描述

这个意思就是在本地仓库的com文件夹里的baomidou文件夹中缺少mybatis-plus-boot-starter文件的3.3.1版本,如果你从同学那要的文件夹包含这个则,只需要在对应位置上将这个3.3.1的包放到"本地仓库.com.baomidou.mybatis-plus-boot-starter"中即可。
在这里插入图片描述
我所找的这个是mybatis-plus-boot-starter的文件夹,其中只有一个3.3.1版本,若你本地方库中存在其他版本的mybatis-plus-boot-starter,但是没有你所需要的这个,那么你只需将对应版本放到这个mybatis-plus-boot-starter里面即可。
此时因为我的本地方库中也没有mybatis-plus-boot-starter,文件夹,因此需要创建个文件夹并找的的所需版本mybatis-plus-boot-starter copy进里面即可。
在这里插入图片描述
tips:pom.xml中依赖的groupId指的是artifactId需要在本地仓库中存放的位置,version是对应的artifactId的版本。
至此,应该九成以上的maven导包依赖问题解决了。

场景二(父工程导包出错):

**出错原因(猜测):**可能因为springboot版本问题,导致无法识别统一版本号

解决方案:

将中爆红的依赖,放到另一个项目中的中,并且指定你所需的中的版本即可。本人是这样解决掉父工程爆红错误的。若仍出错,可以参考场景一。

当我们在使用Maven管理项目的依赖时,有时候会遇到依赖爆红的情况。通常情况下,maven依赖爆红是因为以下几个原因: 1. 依赖版本不兼容:可能是项目中的其他依赖与该依赖版本不兼容,导致编译错误。解决方法是检查依赖之间的版本冲突,可以调整依赖的版本或者直接排除掉引起冲突的依赖。 2. 依赖未完全下载:有时候Maven仓库中的依赖包下载不完全或者损坏,会导致编译错误。解决方法是清除本地的Maven仓库缓存,然后重新下载依赖。 3. 依赖缺失:有时候Maven依赖没有正确声明或者没有在仓库中找到,会导致编译错误。解决方法是检查依赖声明是否正确,或者手动将依赖安装到本地Maven仓库。 4. Maven中央仓库连接问题:有时候Maven中央仓库的连接出现问题,导致依赖无法下载。解决方法是检查网络连接是否正常,或者更换其他可用的仓库源。 5. 缺少依赖范围声明:有时候依赖没有正确声明依赖范围,导致编译错误。解决方法是添加正确的依赖范围声明,确保依赖在编译、运行或测试等不同环境中的正确引用。 在解决依赖爆红问题时,我们可以通过查看Maven的编译日志和错误提示来定位问题,并逐个排查可能的原因。最重要的是了解项目中使用的依赖关系,合理管理依赖的版本和范围,以确保项目的稳定性和正确性。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值