gradle中mavenLocal()失效问题

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

背景

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

问题发现

查询 gradle 官网中关于配置 mavenLocal() 的说明时才恍然大悟,官网上有一段如下的话:
image.png
大概意思是说使用 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。

相关文章
|
Java Maven
Maven配置文件修改
Maven的配置文件位于conf目录下的settings.xml文件 1、添加镜像下载地址 原因:解决默认仓库下载速度堪忧的问题(服务器在国外)
|
存储 安全 IDE
AAPT: error: reso 1. mavenCentral():2. jcenter():3. mavenLocal()
AAPT: error: reso 1. mavenCentral():2. jcenter():3. mavenLocal()
141 0
AAPT: error: reso 1. mavenCentral():2. jcenter():3. mavenLocal()
|
应用服务中间件 Android开发 Java
|
Java Maven 应用服务中间件
Maven项目发布时lib目录没有jar包的解决办法
背景 IntelliJ IDEA 中用 Maven 构建SSM项目并发布到Tomcat。 问题 发布时报错找不到类,经查找发布出的lib文件夹里并没有任何的jar包。
3551 0
|
Java Maven
|
Java 程序员 测试技术
Maven的build生命周期和常用plugin
Maven的build生命周期和常用plugin
Maven的build生命周期和常用plugin
|
Java Maven
maven-war-plugin:Maven打war包时,排除和包含指定文件或目录
maven-war-plugin:Maven打war包时,排除和包含指定文件或目录
1480 0
maven-war-plugin:Maven打war包时,排除和包含指定文件或目录
|
存储 Java 应用服务中间件
Maven plugin 设置和常见命令
核心 Plugin Clean Plugin The Clean Plugin is used when you want to remove files generated at build-time in a project's directory. 跳过 Clean
645 0
|
XML Java Maven
maven配置文件不一致导致构建失败
maven配置文件不一致导致构建失败
206 0