Gradle存储在本地文件系统上

时间:2012-05-31 12:58:34

标签: gradle

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

15 个答案:

答案 0 :(得分:212)

在Mac,Linux和Windows上,即在所有3个主要平台上,Gradle将依赖项存储在:

~/.gradle/caches/modules-2/files-2.1

答案 1 :(得分:201)

Gradle缓存USER_HOME/.gradle文件夹中的工件。编译后的脚本通常位于项目文件夹的.gradle文件夹中。

如果找不到缓存,可能是因为你尚未缓存任何工件。您始终可以通过简单的脚本查看Gradle缓存工件的位置:

apply plugin: 'java'

repositories{
  mavenCentral()
}

dependencies{
  compile 'com.google.guava:guava:12.0'
}

task showMeCache << {
  configurations.compile.each { println it }
}

现在,如果您运行gradle showMeCache,它应该将deps下载到缓存中并打印完整路径。

答案 2 :(得分:11)

如果您希望您的依赖项文件位于某个特定文件夹中,则只需使用copy任务即可。对于例如。

task copyDepJars(type: Copy) {
  from configurations.compile
  into 'C:\\Users\\athakur\\Desktop\\lib'
}

答案 3 :(得分:10)

在Windows 10 PC中,它保存在:

C:\Users\<user>\.gradle\caches\modules-2\files-2.1\

答案 4 :(得分:8)

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

  • $ USER_HOME / .gradle /高速缓存/模块-2 /文件-2.1

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

  • groupid + artifactid + version + FILE_MD5_VALUE + FILE_NAME

如果我们定义的依赖关系是:

  • compile'org.springframework:spring-jdbc:4.3.4.RELEASE'

然后将库加载到:

  • / $ USER_HOME / .gradle /高速缓存/模块-2 /文件-2.1 / org.springframework /弹簧JDBC / 4.3.4.RELEASE /的 42175d194cf6aa7c716c0887f30255e5c0a5262c /spring-jdbc-4.3.4 .RELEASE.jar

答案 5 :(得分:7)

我在窗户上,

您应该能够在

中找到依赖项

$ USER_HOME.gradle \缓存\工件-24 \文件存储

答案 6 :(得分:3)

您可以使用gradle参数--project-cache-dir "/Users/whatever/.gradle/"强制使用gradle缓存目录。

通过这种方式,您可以确定您知道正在使用的目录(以及为不同的项目创建不同的缓存)

答案 7 :(得分:2)

实际上,缓存位置取决于GRADLE_USER_HOME环境变量值。 默认情况下,在基于Unix-OS上为$USER_HOME/.gradle,在Windows上为%userprofile%.\gradle
但是,如果设置此变量,则缓存目录将位于此路径中。

在任何情况下,您都应该深入研究caches\modules-2\files-2.1来找到相关性。

答案 8 :(得分:1)

如果它是Android gradle项目 - 您可以在$ ANDROID_HOME / extras / android / m2repository文件夹下找到android库

答案 9 :(得分:1)

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

  1. 将项目结构视图设置为&#34;项目&#34;
  2. 在底部的外部库部分可用,展开它。
  3. 在这里您可以看到下载的jar文件。 enter image description here

答案 10 :(得分:1)

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

答案 11 :(得分:0)

在我的Windows机器上使用&#34; Buildship 2.0.2&#34;在eclipse中安装的插件,依赖存储:

$ USER_HOME.gradle \缓存\模块-2 \文件-2.1

答案 12 :(得分:0)

就我而言,我使用的是Ivy存储库,我的Gradle依赖项存储在~/.ivy2/中。

答案 13 :(得分:0)

我在寻找答案时偶然发现了这个。如果您使用的是intellij,则可以导航到文件位置,但是在项目资源管理器中打开外部lib文件夹,右键单击jar,然后选择“打开库设置”。 enter image description here

答案 14 :(得分:0)

许多答案是正确的! 我想补充一点,您可以使用以下方式轻松找到您的下载位置

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作为下载位置。