引入项目过程中,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 的方式呀

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

写项目过程中,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包到自己的电脑:

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

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

■ 细节:

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

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

maven项目(引入依赖失败, pom.xml 报错\爆红)的更多相关文章

  1. maven web工程 解决了pom.xml报错之后,maven web工程还是有个红色的叉叉 解决

    这里之前有个红色叉叉 改完了pom.xml文件之后需要:右键工程-MavenMyEclipse-Update Project 刷新Maven web 工程,即可解决此问题

  2. eclipse中Maven项目pom.xml报错:com.thoughtworks.xstream.io.HierarchicalStreamDriver

    eclipse中创建Maven项目时 pom.xml报错:com.thoughtworks.xstream.io.HierarchicalStreamDriver 解决方案1.在pom文件中加入mav ...

  3. Eclipse搭建maven project web war项目pom.xml报错

    在eclipse中搭建maven project时,在不使用模板的情况下,搭建的web项目会报错. 操作步骤如下: 1.勾选Create a simple project ,因为如果不勾选系统会提供模 ...

  4. 新建MAVEN项目--pom.xml报错

    使用集成了maven的Eclipse版本新建maven项目后,配置文件pom.xml会在project以及引用的xsd文件处出现错误(第一.二行报错) 其中一个报错例子: Multiple annot ...

  5. pom.xml报错:Failure to find org.apache.maven.doxia:doxia-logging-api:jar:1.1 in http://repo.

    在maven本地库中找到对应的地址:org.apache.maven.doxia找到对应的文件:doxia-logging-api发现文件中包含有lastUpdated字样,表示该文件并未下载完成,然 ...

  6. 新建maven工程时pom.xml报错

    新建maven工程时,pom.xml报错:第一行报如下错误:multiple annotations found at this line后添加org.eclipse.m2e相关的plugin配置后, ...

  7. maven仓库中有jar包pom还报错

    maven仓库中有jar包pom还报错 就报错,咋啦? 这个包来源不明,自己拷贝进来的吧?你当我mvn是傻子?我要去网上验证一下: 我自己有个_remote.respositories文件,如果自己用 ...

  8. maven项目引用时,导入类报错,选择两个项目同时执行Maven update

    maven项目引用时,导入类报错,选择两个项目同时执行Maven update springboot引入第三方jar,需要扫描时加@ComponentScan("第三方的包名") ...

  9. eclipse新建maven项目出错 pom.xml报错

    问题: 1.新建项目后会提示一个这样的错 maven-compiler-plugin:3.1:compile(1 errors) maven-compiler-plugin:3.1:testCompi ...

随机推荐

  1. 关于 MyBatis-Plus 分页查询的探讨 → count 都为 0 了,为什么还要查询记录?

    开心一刻 记得上初中,中午午休的时候,我和哥们躲在厕所里吸烟 听见外面有人进来,哥们猛吸一口,就把烟甩了 进来的是教导主任,问:你们干嘛呢? 哥们鼻孔里一边冒着白烟一边说:我在生气 环境搭建 依赖引入 ...

  2. 一窥 AJAX

    一窥 AJAX 本文写于 2020 年 6 月 7 日 AJAX 这个词非常常见,如果使初学者,说不定还会非常害怕这个名字看起来非常高端.非常难的技术. AJAX,全称 Async JavaScrip ...

  3. Unity-Adressable打包热更

    Addressable是Unity推出的打ab包方案,自动依赖: 不需要手动写AB打包方案,不需要关心依赖; 提供本地远程服务异步加载: 打包粒度可调节: 1.Group Addressable打包需 ...

  4. kvm 虚拟化技术 1.2 之配置网络桥接

    实验一:配置网路桥接模式 默认kvm的网络是NAT模式,一般生产环境用桥接模式,把虚拟机改成桥接模式 1.查看是否安装网桥设备 [root@kibana opt]# rpm -qa|grep brid ...

  5. 基于 Jenkins + Kubernetes + Argo CD 的完整 DevOps 流程记录(1) - 环境部署

    一.环境准备 1.1 镜像仓库 整套 DevOps 流程使用 Harbor 作为内部镜像仓库,所有构建产物(镜像)都会推送到 Harbor,以备后续进行项目部署.Harbor 从 2.x 版本开始支持 ...

  6. Java 15 新特性:隐藏类

    什么是隐藏类 隐藏类,是一种不能被其他类直接使用的类.引入隐藏类的主要目的是给框架来使用,使得框架可以在运行时生成类,并通过反射间接使用它们.可能有点抽象,不要紧,下面我们通过一个例子来直观的认识它! ...

  7. 好客租房16-jsx中的列表渲染

    如果要渲染一组数组 应该使用数组的map方法 注意:渲染列表时候添加key属性 key属性的值要保持唯一 原则:map()遍历谁 就给谁添加key属性 尽量避免索引号作为key //导入react i ...

  8. 命令行传参——JavaSE基础

    命令行传参 可以在运行一个程序时再传递给它消息,可以依靠命令行传参给mian()函数实现 public class CommandLine(){ public static void main(Str ...

  9. 树莓派开发笔记(十五):树莓派4B+从源码编译安装mysql数据库

    前言   树莓派使用数据库时,优先选择sqlite数据库,但是sqlite是文件数据库同时仅针对于单用户的情况,考虑到多用户的情况,在树莓派上部署安装mysql服务,通过读写锁事务等使用,可以实现多进 ...

  10. Linux Cgroup v1(中文翻译)(3):CPU Accounting Controller

    英文原文: https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpuacct.html CPU Accounting Contr ...