gradle学习笔记:配置mavenLocal时,需要注意配置问题

环境

Intellij IDEA : 2019.2.4
Gradle:5.5
MacBook Pro

前言

今天因为一个依赖的问题,弄了很长时间。特此记录下;
我自己的maven是自定义了路径的,今天在拉去公司一个依赖时,一直拉不到。清过缓存、使用--refresh-dependencies强刷过,但是还是不行。

后来参考网上博文才解决了。

mavenLocal()

正常情况下,假设没有自定义缓存路径,那么他应该是USER_HOME/.m2文件夹里面。但是我自定义了,变成了USER_HOME/maven_repo文件夹下,并且在该目录下,还放置了setting.xml文件。在IDEA中的maven设置里,也配置了自定义目录。

但是这是没用的,因为gradle它有自己读取顺序。

官网中的话:

Gradle uses the same logic as Maven to identify the location of your local Maven cache. If a local repository location is defined in a settings.xml, this location will be used. The settings.xml in USER_HOME/.m2 takes precedence over the settings.xml in M2_HOME/conf. If no settings.xml is available, Gradle uses the default location USER_HOME/.m2/repository.

通俗的说就是:
gradle查找jar包顺序如下:
gradle默认会按以下顺序去查找本地的仓库:
USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repository

① 我的USER_HOME/.m2下是没有settings.xml文件的
M2_HOME/conf/settings.xml下我确实有文件,但是不是最新的,因为我的最新是在maven_repo/settings.xml
USER_HOME/.m2/repository这里面的依赖很旧,属于弃用的状态。

因为我只维护USER_NAME/maven-repo里面的文件。


回到我的问题。为什么拉取不到呢?

按照顺序,第二个是符合条件的,但是里面的settings.xml不是最新。所以我更新下,道理上应该就可以了。

而我的做法是只是删除了.m2文件夹。然后把settings.xml复制到了
USER_NAME/.gradle 文件夹中。然后就可以了。

之后我想还原,却还原不了那个错误。感觉可能是IDEA的缓存吧~

=-=-=-=-=-=-=-=2019年11月04日=-=-=-=-=start-=-=-=
晚上又在家里的电脑试了下,我直接把settings.xml拷贝到gradle本地仓库中,也可以。这就搞不懂了,毕竟网上和官网都是在强调USER_NAME目录和M2_HOME目录下该如何如何,而我实际解决问题的却是在GRADLE_USER_HOME目录
我的gradle本地仓库的目录:E:\gradle_repo
=-=-=-=-=-=-=-=2019年11月04日=-=-=-=-=end-=-=-=

参考地址:
在IDEA里gradle配置和使用

官方文档:
https://docs.gradle.org/current/userguide/repository_types.html#sub:maven_local

你可能感兴趣的:(gradle)