maven项目(引入依赖失败, pom.xml 报错\爆红)

☺ 引入项目过程中,idea引入磁盘的某个的maven项目

这里以springboot项目以例子,发现pom.xml 的依赖大面积爆红,springboot的版本依赖也报错了,然后发现下面有进度条在下载,下载了非常久还没有下载成功

  • 对于springboot项目版本依赖报错
    解决方式1:更换一个spirngboot版本;
    解决方式2:等待继续下载该版本的spirngboot依赖(尤其是第一次使用该版本的springboot依赖会下载比较久);
    建议:平时建立springboot项目,springboot的版本尽量使用某个稳定的版本

  • 其他依赖报错
    考虑引入maven项目方式,比如在idea 直接 open 打开springboot的maven项目,这种引入方式默认的maven配置是在C盘,而我的maven安装目录是在E盘,导致本地仓库已有的一些依赖没法给项目使用上
    解决方式:修改一下idea maven的配置;

为什么要选择open 引入maven项目呢?因为idea版本问题[我的idea 是 2020.03],没有import 的方式呀

image

  • 考虑若是父子工程,父工程使用了标签 管理依赖,要先注释掉该标签以及管理的所有依赖,然后子工程下载完成好需要的依赖后,再恢复该标签




☺ 写项目过程中,pom.xml 文件引入某个依赖失败/ maven项目中 jar包下载失败的解决


一、常规解决操作

1、maven的jar包提示找不到

  • 刷新,等它下载完成[可以看到有进度条在下载,同样对于建立项目的时候,pom.xml 爆红,也是看到进度条在下载,那么就等它下载]
  • 更换该jar包对应的version [ 选择手动输入groupId和artifactId,这样它就会提示version ]



2、考虑项目是不是父子工程(单一模块/多模块)

  • 如果是maven的父子工程,考虑父工程中是否使用标签 <dependencyManagement> 来管理依赖,如果有使用该标签,则会导致的一种情况是:子模块中导入某个依赖(该依赖不需要再父工程导入,只用在某个子模块中),子模块导入成功,没有报错但是通过maven工具的窗口观察,发现依赖并没有出现在Dependecies
  • 再次验证依赖可能真的没有导入成功的方式是: 按住ctr点击引入依赖的groupId或artifactId标签,进入该文件,发现爆红,则真的没有导入成功

image

image



3、考虑是引错公司提供的的名称相同的jar包[即groupId:不同,公司不同、artifactId:相同,项目名相同]

■ 介绍一下 maven 的pom.xml 中的依赖的坐标groupId、artifactId:

  • groupId: 公司域名,项目的包名
  • artifactId:项目名

------------ 之所以介绍 groupId、artifactId,是因为在 pom.xml 有时候引入依赖发生错误,提示找不到类的时候,需要考虑是不是 groupId、artifactId 引入错误 ------------

■ 举例,artifactId:同样是 commons.codec的,在maven仓库中,就找到了三个不同的groupId:

<!-- 在项目引入报错,提示找不到 -->
<!-- https://mvnrepository.com/artifact/commons.codec/commons-codec -->
<dependency>
    <groupId>commons.codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.6</version>
</dependency>
<!-- 在项目引入成功,可以正常使用该jar包的方法 -->
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.15</version>
</dependency>
<!-- 在项目引入成功,可以正常使用该jar包的方法 -->
<!-- https://mvnrepository.com/artifact/org.apache.directory.studio/org.apache.commons.codec -->
<dependency>
    <groupId>org.apache.directory.studio</groupId>
    <artifactId>org.apache.commons.codec</artifactId>
    <version>1.8</version>
</dependency>



实在不行,手动导入!!!


二、手动下载引入操作

1、从maven仓库下载对应版本的jar包到自己的电脑:


2、命令行向maven项目导入jar包,然后刷新一下maven项目:

mvn install:install-file -Dfile="jar包的位置" -DgroupId=jar包的groupId坐标 -DartifactId=jar包的artifactId坐标 -Dversion=jar包的version坐标 -Dpackaging=jar

image

image


■ 细节:

1、通过cmd 导入jar包的前提是计算机需要先配置好maven的环境变量

2、install-file之间是没有空格的



posted @ 2022-07-27 16:10  一乐乐  阅读(4174)  评论(0编辑  收藏  举报