gradle和maven能否共用本地仓库?gradle使用maven本地仓库又是什么?

gradle默认本地仓库为~/.gradle/caches/modules-2/files-2.1/....如何共用maven的本地仓库呢?idea中如何设置呢?开发配置时发现并不容易。本文就是记录解答这个问题的过程。
gradle版本:Gradle 6.8.3
idea版本:2021 community edition

一、gradle本地build如何使用本地maven仓库

1. gradle默认本地仓库位置,及存放目录结构

以commons-lang3为例,D:\dev\gradle_cache\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.0\ 目录结构如下:


gradle目录结构

再看一下maven的目录结构


maven目录结构

发现maven和gradle的目录结构很不一样,所以到底gradle是否可以共用maven的本地仓库,表示很怀疑啊!

2. gradle改变默认本地仓库位置

默认gradle仓库位置为~/.gradle/caches/modules-2/files-2.1/.... 那么如何改变这个位置呢?需要配置环境变量GRADLE_USER_HOME, 指定新的目录即可,这个很简单,但这个配置仅在本地命令行中执行gradle命令有效。

3. gradle本地如何共用maven仓库呢?

前面看到两者的目录结构并不一致,到底可不可以,带着这个疑问?找寻答案。。。
首先看到一篇文章,文章的结尾评论感觉看到了答案,如下:

微信图片_20211221145951.png

可见gradle是无法和maven共用同一个仓库的,不过maven仓库可以作为gradle的下载源。在repositories ->配置mavenLocal()即可。

二、idea中如何配置使用本地maven仓库

在很多博客中,在idea gradle—>service directory path中配置本文仓库,发现自己使用的2021 community和2020 ultimate已经没有这个配置了。总结一下就是,maven和gradle是无法共用仓库的。可以通过mavenLocal()从本地maven仓库中下载包。

你可能感兴趣的:(gradle和maven能否共用本地仓库?gradle使用maven本地仓库又是什么?)