因为解决爆红要反复下载依赖项进行多次尝试,所以maven下载速度慢的小伙伴可以参考这篇文章
解决maven依赖下载很慢的问题
https://blog.csdn.net/m0_73642416/article/details/136751868
1.尝试删除旧的依赖的缓存
有时候依赖问题可能是由于本地仓库缓存中的文件损坏或不一致引起的。你可以尝试清理本地仓库缓存,然后让 Maven 重新下载依赖
Maven 的仓库缓存通常位于用户目录下的 /.m2 文件夹中,Maven 仓库缓存包括两个主要部分:
1. 本地仓库:这是一个在本地计算机上存储项目依赖的地方。默认情况下,本地仓库位于用户的主目录下的 `.m2/repository` 文件夹中。在这个文件夹中,Maven 会下载并缓存项目的依赖,以便它们可以在不同的项目之间共享和重复使用。
2. 远程仓库:这是 Maven 从中下载依赖的远程服务器。当 Maven 编译项目时,它会从远程仓库中下载所需的依赖,并将它们缓存到本地仓库中。
如果你想要查看本地仓库的位置,你可以在命令行中运行以下命令:
mvn help:evaluate -Dexpression=settings.localRepository
这将输出本地仓库的位置。通常情况下,这个位置是在用户的主目录下的 /.m2/repository 文件夹中
直接删除(别删错了,删的是repository),然后重启IDEA
建议下载一个查找文件的软件,叫做everything
长这样
直接搜索.m2文件即可
但是请记住,.开头的文件通常是被隐藏的,想要查看记得打开查看中隐藏的项目选项
2.依赖版本问题
不同版本的依赖之间可能不能正常允许,例如spring整合mybatis时导入的依赖版本是有限制的,版本对不上依然会报错
除非已经很熟练了,不然不建议自己写依赖的坐标
最好去maven仓库找坐标,官网如下
3.依赖项的scope问题
有些依赖项可能只在特定的scope下可用,以下是 Maven 中常见的依赖范围:
-
compile:默认的依赖范围,适用于所有阶段。这意味着依赖项将在编译、测试和运行时都可用。
-
provided:这个范围表明依赖项在编译和测试阶段可用,但在运行时由目标环境(如服务器容器)提供。这通常用于 Servlet API 等在编译和测试时需要,但在部署时由容器提供的依赖。
-
runtime:这个范围表示依赖项在运行时和测试时可用,但在编译时不需要。
-
test:这个范围表示依赖项仅在测试编译和执行测试时可用,不会被包含在最终构建产物中。
确保依赖项的范围配置正确非常重要,特别是在涉及到需要在特定阶段可见性的依赖项时。如果依赖项的范围配置不正确,可能会导致编译错误、运行时错误或者构建产物中包含不应该包含的依赖项。
4.重建项目
有时候依赖问题可能是由于项目本身的配置问题或者依赖冲突引起的。在这种情况下,重新构建整个项目可能会更有效
重新构建项目可以确保所有的依赖被正确地解析、下载和安装,同时也可以清除可能存在的编译残留物和缓存
重新构建项目的步骤通常包括:
-
清理项目:运行 Maven 的
clean
命令,以清除先前构建的输出和临时文件。 -
重新构建:运行 Maven 的
install
或package
命令,以重新构建整个项目并生成最终的构建产物。
重新构建项目可能会消耗一些时间,但通常可以解决一些复杂的依赖问题,尤其是当出现了依赖冲突或者项目配置问题时
标签:Maven,依赖,仓库,maven,编译,爆红,缓存,构建 From: https://blog.csdn.net/m0_73642416/article/details/136752176