目录
2.3 设置 setting.xml (给此 xml 中添加国内源)
2.4 把上面的步骤 (2.1~2.3) 在新项目的配置界面中重新配置一遍.
1. 创建出一个 Maven 项目
2. 打开项目配置界面, 检查并配置国内源
2.1 打开配置界面 (当前项目界面和新项目配置界面)
2.2 搜索 "Maven"
2.3 设置 setting.xml (给此 xml 中添加国内源)
打开此路径后, 会出现两种情况:
1. 你的路径下有 settings.xml 文件;
2. 你的路径下没有 setting.xml 文件;
【第一种情况配置国内源】
使用 VSCode 或者其他文本编辑器打开 settings.xml 文件, 并找到 mirrors 结点, 在里面加上以下代码即可.
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
【第二种情况配置国内源】
将自己同学或者朋友已经配置好的 settings.xml 文件拷贝到此路径下即可.
【注意】
此路径属于第一种情况时, 不能像第二种情况一样拷贝朋友的 xml 文件
【为什么要给 settings 添加国内源】
maven 项目为什么要下载 jar 包 >>>
最早之前我们要去下载 jar 包, 就和我们最早智能时代去下载 app 一样, 就是一个链接, 本来我们要去下一个王者荣耀, 结果发现是一个钓鱼的 app, 来了之后, 先让我们看 60 秒的广告, 正在打团战的时候, 又给我弹一个广告, 可想而知是非常糟糕的一件事, 但是野蛮时代就是这样. 我们下载 jar 包也是这样, 假设我想用一个很正经的 MD5 的加密库, 结果你就统计了我用户的一个行为, 你就搜集了我本地敏感的用户信息, 那我的 jar 包就出现问题了, 就有风险了, 那这时候怎么办? 就有一个人站了出来, 就建立了一个平台, 所有的 jar 包你都发布到这个平台, 我的平台给你进行审核, 审核完了之后, 其他人就可以去用了. 这就和我们之前下载 app , 经常会下载到一些伪造的,冒充的 app , 后来就有了官方的应用市场, 所有的东西都要进行官方的审核, 你就可以放心大胆的去用它了, 这也是咱们 maven 项目以及后面的 spring 项目要去下载 jar 包的原因.
为什么要配置 settings 国内源 >>>
由于 Maven 中央仓库在国外, 这就导致一个问题, 为什么我创建 servlet 项目, 创建 spring 项目的时候, 我创建失败了, 就是因为你去拉这个中央仓库的时候, 它在国外, 然后国外网络不好, 导致你拉了一半, 或者是在默认的超时时间里, 你都没有把这个 jar 包下载下来, 或者下载的时候网络中断了, 下载了一个一半的 jar 包, 然后你运行的时候就出现问题了, 你发现你的项目就跑不起来, 就是这个原因. 为了解决问题, 于是三方就跳出来了, 国内比较典型的 jar 包有两个, 一个是阿里云, 一个是网易云, 前边第一种情况配置的国内源就是阿里的.
既然有了阿里云, 网易云, 是不是就相当于阿里就做了一个人家国外已经做过的事呢? 开发者在发布 jar 包的时候, 是否需要将 jar 包也同步发到阿里, 网易呢? 那这样就会给人家开发者增加负担的, 人家也不会愿意, 而且会导致 maven 的生态不稳定. 所以这两家国内源就非常聪明, 去 maven 中央仓库去增量同步 jar 包, 这时候我们在 settings 里面配置国内源, 就可以直接去国内的网络去访问了, 这个时候, 速度就提升了很多了. 之前我们从中央仓库下载 jar 包, 正常情况下, 我们去下载一个 spring 项目的 jar 包可能需要 5 分钟, 现在我们从国内源下载 10 秒钟可能就搞定了.
2.4 把上面的步骤 (2.1~2.3) 在新项目的配置界面中重新配置一遍.
3. 重新下载 jar 包
为什么要重新下载 jar 包 >>>
第一次下载已经失败了, 那么这时候失败有两种情况:
1. 压根就没下载下来
2. 下载了一半, 但是因为你的网络抖动, IDEA 没发现, IDEA 显示的是成功, 但是你用的时候不能用.
所以我们需要先将旧的 jar 包删除 (旧 jar 包可能是不完整的).
怎么删除旧 jar 包 >>>
我们在配置的时候, 是打了两个勾的, 我们只做了第一件事, 第二件事没有做, 第二个配置就是我们的本地仓库.
【本地仓库】
前面我们只谈到了三个仓库, 那么本地仓库又是什么呢?
最早我们在下载 jar 包的时候, 是没有本地仓库的, 我们需要本地仓库就从线上去拉, 拉完就放到我们的项目里面, 但是这里会有一个问题, 比如我们下载一个 mysql 的 jar 包, 我们第一次去拉去这个 jar 包, 这个项目已经创建完了, 第二次我们在写项目的时候, 还需要 mysql 的 jar 包, 又得从中央仓库去拉, 此时就会有两个问题, 不管是国内的还是国外的, 我们都需要消耗网络资源. 而且第一次我们已经下载好了, 此时我们本地项目已经有了 jar 包, 第二次我们又去下载, 不科学不合理, 这个为了减轻中央仓库的负担, 也为了加快本地下载的速度, 所以它就会在中央仓库和用户之间架一个本地仓库, 起的作用就是缓存 !!
删除 jar 包就可以找到上面那个路径, 然后把下面的 jar 包全部删除, 下一次创建项目时需要这些 jar 包时, 重新再下载一次即可..(依然是从国内源下载)
【重新下载 jar 包】
以上就是配置 Maven 为国内源的具体步骤, 跟着步骤一步步操作能解决 99% 的兄弟的问题,
还有 1% 如果没成功, 可以尝试更换网络重新执行以上步骤!!!