Gradle如何在本地文件系统中存储下载的jar文件?Maven将它们存储在USER_HOME下的.m2目录中,但是Gradle将它们存储在哪里呢?我检查了那里的.gradle文件夹,但只看到编译过的脚本。


当前回答

很多答案都是正确的! 我想补充的是,你可以很容易地找到你的下载位置

gradle --info build

如https://stackoverflow.com/a/54000767/4471199所述。

新下载的工件将显示在stdout中:

Downloading https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-parent/2.1.7.RELEASE/spring-boot-parent-2.1.7.RELEASE.pom to /tmp/gradle_download551283009937119777bin

在本例中,我使用了docker映像gradle:5.6.2-jdk12。 可以看到,docker容器使用/tmp作为下载位置。

其他回答

我花了一段时间才意识到这一点,因此有了额外的答案。希望它能节省人们的时间。注意,如果你正在运行sudo gradle,依赖项可能不在你的主目录下,即使sudo echo $ home返回/Users/<my-non-root-user>/。在我的Mac上,Gradle正在/private/var/root/. Gradle /caches/中缓存依赖项。

在Windows 10 PC中,它保存在:

C:\Users\%USERNAME%\.gradle\caches\modules-2\files-2.1\

我只是在寻找答案的时候偶然发现了这个问题。如果您正在使用intellij,您可以导航到文件位置,但是在项目资源管理器中打开外部lib文件夹,右键单击jar,并选择Open Library Settings。

在android studio中执行以下步骤检查gradle下载的jar文件。

将项目结构视图设置为“项目” 在底部的外部库部分可用,展开它。 在这里您可以看到下载的jar文件。

Gradle的本地存储库文件夹是:

USER_HOME美元/ .gradle /缓存/模块2 - 2.1 /文件

已定义的依赖将从远程存储库加载到gradle的本地存储库文件夹中。对于每个加载的文件,gradle将创建一个新文件夹,命名为原始文件的md5值(pom,jar,..)。依赖文件的完整路径由以下组成:

groupid + artifactid + FILE_MD5_VALUE +

如果我们定义的依赖项是:

编译的org.springframework: spring jdbc: 4.3.4.RELEASE

然后库将被加载到:

USER_HOME美元/ .gradle /缓存/模块2 /文件- 2.1 / org.springframework / spring jdbc / 4.3.4.RELEASE / 42175 d194cf6aa7c716c0887f30255e5c0a5262c / spring-jdbc-4.3.4.RELEASE.jar