maven包爆红解决方案
转自:https://blog.csdn.net/qq_43705131/article/details/106165960
方案1:
当一开始遇到导入的依赖报红了,直接把那段刚导入的对应依赖删了,然后又重新导入,它自动会刷新;
方案2:
在IDEA右边点击Maven会弹出一个框,然后狂点击刷新按钮,让它自动它导入下载更新
方案3:
还有一种问题情况是这样的,导入了依赖没有这个jar
然后,就是这样操作的 去寻找 Settings -> Build,Execution,Deployment -> Build Tools -> Maven -> Ignored Files
这个默认不勾选,如果勾选了,要取消了 ,(如果有勾选的人记得:重新去使用方案1和2重新去导入,刷新试试 )
方案4:
需要去配置一下设置, 让它自动下载,如下图配置:
位置: Settings -> Build,Execution,Deployment -> Build Tools -> Maven -> Importing,如下图:
然后重新去使用方案1和2重新去导入,刷新试试 , 或许对你有帮助
方案5:
这种也是配置的,要是没勾选了,包死活也下载不了
位置: Settings -> Build,Execution,Deployment -> Build Tools -> Maven -> Work offline
方案6:
2019版的IDEA,要注意maven版本兼容问题
2019.3版本的IDEA用3.6.1的maven兼容不了,换了最新版的好使。
我用的是3.3.9版本,挺好的,没问题,如果实在没办法的,可以试试换maven版本
(当然,也别慌,重头戏在后面,先把后面一种方案看完,说不定,就搞定了呢,嚯嚯!!)
方案7:
在此前,提供一个小工具,只要运行可以自动检测删除你下载未完整的依赖文件,
首先创建一个txt文档,复制以下代码
1 2 3 4 5 6 7 | set REPOSITORY_PATH=E:\repository rem 正在搜索... for /f "delims=" %%i in ( 'dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"' ) do ( del /s /q %%i ) rem 搜索完毕 pause |
记得路径修改为你自己所在依赖包的位置
然后把.txt文件后缀改为.bat ,双击运行即可跳出窗口去自动删除, 然后可以去重新让它下载依赖试试(最好结合下一个方案最稳)
方案8:
接下来,真的,是重头戏,这也是我的解决的方案,感觉小伙伴们用了,肯定屡试不爽
首先.最好结合使用方案7把你存在的不完整的依赖文件删除,
首先.在pom.xml的导入包所在处 鼠标右键找到Maven,然后点击Open"settings.xml"
会显示这个页面
然后在settings.xml中配置远程仓库, 复制以下配置
<mirrors>
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
我刚开始,弄到这个配置,直接复制到settings.xml中,让它加载,还以为没用,原来一时眼瞎,它这文件自带注解太多,没有向下翻,直接复制顶部,错误示范如下图
正确配置:
要耐心向下翻到一百多行,找到 复制在其中,然后,我这准备的配置时带有的,记得删了,不然就有两个
然后,你回到pom.xml中试试,行不行,
注意: 如果不行则把url中使用http 可能不好用,换成https进行尝试
我试了一下,这种配置好像没完全解决我的问题,所以,我还准备了还有一种配置,完全解决了我的问题,
同样复制一下配置到settings.xml中的里
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
然后回到pom.xml文件看,刷新一下,或者它自动正在下载相应的依赖,真的是,看到,它咻咻的,在那动来动去的下载
别提我多高兴了,我想这次准成,下了好一会,果然,成功了,开心!!!啊哈哈(如图)
然后就没有报红了,但是,我打开maven看,还有个别爆红,可能没下载全(当时忘了截图)
办法:只要使用方案1和2, 把依赖删了,重新复制进去,重新导入刷新依赖, 让它自动补全,就完美了
如图,一点报错没有
弄了大半天,总算没有白忙活,把问题解决了,希望给小伙伴们解决问题噢!!
看完恭喜你,又知道了一点点!!!
你知道的越多,不知道的越多!
~感谢志同道合的你阅读, 你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!
————————————————
版权声明:本文为CSDN博主「煌sir」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43705131/article/details/106165960
########多镜像问题====================================================================
配置阿里镜像或多个镜像:转自 https://www.cnblogs.com/hxun/p/11274196.html
问题场景
1、国内访问maven默认远程中央镜像特别慢
2、用阿里的镜像替代远程中央镜像
3、大部分jar包都可以在阿里镜像中找到,部分jar包在阿里镜像中没有,需要单独配置镜像
解决方案
settings.xml 中可以使用变量,可以尝试使用变量解决:
<mirrors> <!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> <!-- 中央仓库1 --> <mirror> <id>repo1</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo1.maven.org/maven2/</url> </mirror> <!-- 中央仓库2 --> <mirror> <id>repo2</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo2.maven.org/maven2/</url> </mirror> </mirrors>
在maven的配置文件setting.xml大里面有个mirrors节点,用来配置镜像URL。mirrors可以配置多个mirror,每个mirror有id,name,url,mirrorOf属性,
id是唯一标识一个mirror,name节点名,url是官方的库地址,mirrorOf代表了一个镜像的替代位置,例如central就表示代替官方的中央库
虽然mirrors可以配置多个子节点,但是它只会使用其中的一个节点,即默认情况下配置多个mirror的情况下,只有第一个生效,只有当前一个mirror
无法连接的时候,才会去找后一个;而我们想要的效果是:当a.jar在第一个mirror中不存在的时候,maven会去第二个mirror中查询下载,但是maven不会这样做!
注意:
配置多个mirror时,mirrorOf不能配置" * "," * " 的意思就是(根据mirrorOf和repository的id)匹配所有的仓库(repository),
这样就是说如果你需要某个jar,他会从镜像地址去下载这个jar。不管你配置了多少个库,即使这些库的地址不一样,仍然会从镜像地址访问
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步