☺ 引入项目过程中,idea引入磁盘的某个的maven项目
对于springboot项目版本依赖报错
,
解决方式1:更换一个spirngboot版本;
解决方式2:等待继续下载该版本的spirngboot依赖(尤其是第一次使用该版本的springboot依赖会下载比较久);
建议:平时建立springboot项目,springboot的版本尽量使用某个稳定的版本
其他依赖报错
:
考虑引入maven项目方式,比如在idea 直接 open 打开springboot的maven项目,这种引入方式默认的maven配置是在C盘,而我的maven安装目录是在E盘,导致本地仓库已有的一些依赖没法给项目使用上
解决方式:修改一下idea maven的配置;
- 考虑若是父子工程,父工程使用了标签
☺ 写项目过程中,pom.xml 文件引入某个依赖失败/ maven项目中 jar包下载失败的解决
一、常规解决操作
1、maven的jar包提示找不到
- 刷新,等它下载完成[可以看到有进度条在下载,同样对于建立项目的时候,pom.xml 爆红,也是看到进度条在下载,那么就等它下载]
- 更换该jar包对应的version [
选择手动输入groupId和artifactId
,这样它就会提示version ]
2、考虑项目是不是父子工程(单一模块/多模块)
- 如果是maven的父子工程,考虑父工程中是否使用标签 <
dependencyManagement
> 来管理依赖,如果有使用该标签,则会导致的一种情况是:子模块中导入某个依赖(该依赖不需要再父工程导入,只用在某个子模块中),子模块导入成功,没有报错,但是通过maven工具的窗口观察,发现依赖并没有出现在Dependecies
; - 再次验证依赖可能真的没有导入成功的方式是: 按住ctr点击引入依赖的groupId或artifactId标签,进入该文件,发现爆红,则真的没有导入成功
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包
到自己的电脑:
- maven 仓库地址:https://mvnrepository.com/
2、命令行向maven项目导入jar包
,然后刷新一下maven项目:
mvn install:install-file -Dfile="jar包的位置" -DgroupId=jar包的groupId坐标 -DartifactId=jar包的artifactId坐标 -Dversion=jar包的version坐标 -Dpackaging=jar