欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

maven环境变量配置错误致gradle中mavenLocal()失效问题

程序员文章站 2022-11-01 16:11:26
背景新项目是以 gradle 构建的,但是以前都是 maven 项目,既然 gradle 可以引用 maven 的仓库,那就直接配置 mavenLocal() 复用就好,结果我们配置了,依然不走 maven 默认仓库。问题发现查询 gradle 官网中关于配置 mavenLocal() 的说明时才恍然大悟,官网上有一段如下的话:大概意思是说使用 mavenLocal() 配置 maven 的本地仓库后,如果仓库在 setting.xml中设置后则gradle默认会使用本地仓库。关于 gradle...

背景

新项目是以 gradle 构建的,但是以前都是 maven 项目,既然 gradle 可以引用 maven 的仓库,那就直接配置 mavenLocal() 复用就好,结果我们配置了,依然不走 maven 默认仓库。

问题发现

查询 gradle 官网中关于配置 mavenLocal() 的说明时才恍然大悟,官网上有一段如下的话:
maven环境变量配置错误致gradle中mavenLocal()失效问题
大概意思是说使用 mavenLocal() 配置 maven 的本地仓库后,如果仓库在 setting.xml中设置后则gradle默认会使用本地仓库。关于 gradle 查询setting.xml文件的顺序依次如下:USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml。
看到这里我才发现我的 maven 环境变量配置的是 MAVEN_HOME,而 gradle 默认只会查找 M2_HOME 的路径。所以我们既在用户目录下没有 .m2文件,配置的环境变量又不是 M2_HOME,gradle 能找到才怪呢。

解决

既然问题定位了,那解决问题就很容易了。
两种方式:
方式一:在用户目录下创建 .m2 文件夹,然后将 maven 安装目录中的 setting.xml 拷贝一份扔到 .m2 文件夹下面。
方式二:更改 maven 环境变量为 M2_HOME。

本文地址:https://blog.csdn.net/mojiewangday/article/details/112536983