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


当前回答

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

其他回答

在我的windows机器上,eclipse中安装了“Buildship 2.0.2”插件,依赖项被存储:

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

你可以使用gradle参数——project-cache-dir "/Users/whatever/。Gradle /"来强制Gradle缓存目录。

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

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

如果您找不到缓存,可能是因为您还没有缓存任何工件。你总是可以用一个简单的脚本看到Gradle缓存工件的位置:

apply plugin: 'java'

repositories {
    mavenCentral()
}

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

task showMeCache doLast() {
    configurations.compileClasspath.each { println it }
}

现在如果你运行gradle showMeCache,它会把依赖项下载到缓存中并打印完整的路径。

事实上,缓存位置取决于GRADLE_USER_HOME环境变量值。 缺省值为$USER_HOME/。gradle基于Unix-OS和%userprofile%。\gradle在Windows上。 但是如果您设置了这个变量,缓存目录将从这个路径定位。

无论哪种情况,你都应该深入研究缓存\模块-2\文件-2.1来找到依赖项。

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