解决Maven中的依赖导包问题(组合技巧)
作者:Melo7000
今天给大家分享一个非常好用的技巧,这个技巧是一个组合技巧
是的,自从我开始接触了以spring为框架的项目学习后,这个maven导包老是出现问题,每次在这个上面花费好多时间,于是乎打算写一个秘籍出来。
你可能会遇到这样的问题
这玩意咋红了,看人怪吓人的
接下来这个我们来看看有什么解决办法,下面办法将会从简到难进行介绍
一.你是不是没有reload?
首先我们得知道,在maven所带的.pom文件中修改项目配置后,需要reload的一下,也就是刷新,让它重新接受你的修改后的文件。
具体刷新主要两种方法,如下图
第一种,侧边栏maven管理来进行reload:
第二种,右键点击修改后.pom文件任意处,根据下图来reload:
如果不爆红了,说明是没有刷新的问题。若是没解决,请看第二招
二.配置环境有问题吗?
这种招式主要用于运行别人写的项目。由于每个人的Maven环境都不一样,于是乎,你需要修改一下maven环境配置
点击File-->Settings
,按照下图搜索Maven。
其中黄色框框里就是你要修改的东西,若你拿的别人的项目,通常情况下其路径你会发现看不懂,例如“我的电脑上没有F:盘,为啥路径上有”...
此时你就需要将Maven改为你自己的路径,这个大家配环境的时候都配过,我就此不再赘述。
三.网络不好导致下不了包
这种问题确实存在,我经常遇到。为了下载Maven的包,我还专门买了张流量卡开热点(你们别学我,换个好一点的网络就行) 但必须注意下面情况:
但是还有一种特殊情况,就是由于maven所下载的依赖都是需要在远程仓库上进行,而这玩意服务器在国外,距离太远了访问起来确实很慢
好在阿里帮我们解决了这个问题,它相当于把远程仓库中的东西复制了一分,到自己的仓库,我们只需要将maven配置阿里镜像即可。我们来配置一下:
首先找到你的Maven文件下的conf文件,找到setting.xml文件
使用编辑器打开文件,找到 标记然后将下面内容拷贝替换原来的 标记以及标记内的所有内容,这样就配置好了。
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
然后根据第二招配置一下
四.重启IDEA
这个也好用,因为可能IDEA会卡,所以它会“误报”错误。也就是说,他看起来红红的,实际上都没问题,这个时候重启IDEA可能会解决问题。
五.手动导包
这招是基于上述几种方法都无法解决而使用的,其实你搜手动导报搜出来一大堆,说明白的没几个,今天我给大家分享一下:
这种方法适用于各种Dependency not found,主要是有点麻烦。
手动导包分两步
- 第一步:下载你需要的Jar包
- 第二步:导入你的项目中
第一步:下载你需要的Jar包
https://mvnrepository.com/ 网站你可以搜到你想要的jar包,非常好用
选择版本后,你需要参考下图下载jar包(一定要知道下载到哪了)
第二步:导入你的项目中
还是原本的步骤
在黄框里输入下载命令(注意:你打开输入栏可能会有mvn字样,删了),我这随便找的例子:
mvn install:install-file -Dfile=D:\Environment\Maven\repository\guava-32.1.2-jre.jar -DgroupId=com.google.guava -DartifactId=guava -Dversion=32.1.2-jre -Dpackaging=jar
指令说明:
- -Dfile= jar 在本地的绝对路径
- -DgroupId= jar 包的 groupId
- -DartifactId= jar 包的 artifactId
- -Dversion= jar 包的 version
- -Dpackaging= 打包方式
当然.pom文件中的dependency该咋写就咋写,根据上面代码中的对应起来
记住要reload刷新一下
电脑卡了刷新完还得重启一下哦!