前言
对于一些特殊的,或者不容易找到的依赖包,我们没办法直接通过刷新IDEA去获取到对应的依赖包;
尤其是你拉取别人的git的时候,你没办法找到部分pom的包
因此,本篇文章用来记录如何解决idea提示Could not find artifact
该方法
步骤
确认依赖包来源
首先确认是否是公司内网内部的依赖包,是的话,没办法通过查找网络进行获取依赖包,
这个情况需要询问公司的人进行配置公司的内部maven库链接路径
通过maven库获取依赖包
如果排除了上面的一点后,就可以使用我这个方法
既然要获取依赖包,那么我们肯定需要有一个获取的地方,以下链接为maven库链接
当我们进去之后,显示的是这个界面
一般情况下,我经常遇到的是ojdbc
这个依赖包会报找不到
因此可以在搜索栏搜索ojdbc,以我的项目ojdbc7为例
我的pom.xml的ojdbc依赖代码为:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.2</version>
</dependency>
那我就搜索ojdbc7
搜索出来是这个样子
但是这里涉及到一个问题,这么多包,我该选择哪个?
同样注意我们的pom代码中的这两个
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
很明显我们应该选择这个
点击打开之后是这个界面,并且我们选择对应的版本
就会弹出这个界面,然后按照我圈出来的地方,点击下载jar包就可以
手动打包
这个时候,我们已经拿到了jar包,那么记住你这个包放的位置,如我放在D盘
以上,可以看到我们下载的jar包名为:
ojdbc7-12.1.0.2.jar
接下来我们打开cmd命令行窗口
在里面输入这个代码
mvn install:install-file
-Dfile=D:/ojdbc7-12.1.0.2.jar
-DgroupId=com.oracle
-DartifactId=ojdbc7
-Dversion=12.1.0.2
-Dpackaging=jar
如果提示
mvn不是内部或外部命令
那么请先给你的电脑安装maven再说,不过一般你遇到我文章的问题基本上是不可能出现maven没安装的情况
以上是什么意思呢?接下来的是解释
首先继续看我们的pom.xml的代码
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.2</version>
</dependency>
于是我们可以很清楚的知道
Dfile="我们从maven库下载的jar包依赖"
DgroupId="对应依赖的组织名"
DartifactId="对应依赖的项目名称"
Dversion="对应依赖的版本号"
Dpackaging="打包的格式"
当最后提示,有大大的
BUILD SUCCESS
字样,那么你就手动打包成功了,重新进入到你的idea刷新依赖就可以了
无jar包下载
一般这种情况,很大可能是它有父级的maven依赖,可以通过百度查找对应的父级依赖是什么,可以通过查找下载对应的父级依赖进行导包;
当然也可能是我提供的这个不是很全面,可以通过查找其他的网站下载,以下我也列举几个可以尝试下载maven依赖的网站:
除了这个之外,也可以通过配置maven库的conf文件,设定好下载链接从设定的链接方式下载,具体配置参照百度。
一般是配置阿里云的,可以试试查看该链接对应的maven库链接是什么
依赖包损坏
除了以上找不到依赖包,还有一种情况,那就是以前下载过依赖包,也是OK的,但是因为什么原因导致依赖包损坏,如正常依赖包大小3M,4M左右,打开配置的路径发现实际变成了2KB,3KB大小的文件,导致系统会抓取默认配置已有的文件
这种情况,可按照如下步骤解决,以下教学IDEA如何去处理
定位到本地maven库
正常情况下,你的maven库是通过idea的配置进行配置的,可以查看
settings-->检索maven
可以看到本地maven库路径为:
C:\Users\ks027276.m2\repository
打包查看有问题的包
在maven
工具栏,选择M
图标
然后输入指令如下,回车
mvn package -X
这个时候你会在控制台
看到执行的maven依赖日志
如果有问题,它会停留在对应有问题的包里,并且提示有问题的包的位置是什么,我的项目暂时没有对应的有问题的包,如下我以其中一个讲解
假如它有问题,那么我们定位到对应的路径
把对应文件夹文件全部删除
,然后重新打包即可,执行命令mvn package -X
结语
以上为解决方法