¿Cómo almacena Gradle los archivos jar descargados en el sistema de archivos local? Maven los almacena en el .m2
directorio debajo USER_HOME
, pero ¿dónde los almacena Gradle? Revisé la .gradle
carpeta allí, pero solo vi scripts compilados.
¿Cómo almacena Gradle los archivos jar descargados en el sistema de archivos local? Maven los almacena en el .m2
directorio debajo USER_HOME
, pero ¿dónde los almacena Gradle? Revisé la .gradle
carpeta allí, pero solo vi scripts compilados.
Respuestas:
Gradle almacena en caché los artefactos en la USER_HOME/.gradle
carpeta. Los scripts compilados generalmente están en la .gradle
carpeta en la carpeta de su proyecto.
Si no puede encontrar el caché, tal vez sea porque aún no ha almacenado ningún artefacto. Siempre puede ver dónde Gradle ha almacenado en caché los artefactos con un script simple:
apply plugin: 'java'
repositories{
mavenCentral()
}
dependencies{
compile 'com.google.guava:guava:12.0'
}
task showMeCache << {
configurations.compile.each { println it }
}
Ahora, si lo ejecuta gradle showMeCache
, debe descargar los deps en la memoria caché e imprimir la ruta completa.
<<
está en desuso en Gradle 3.2 mrhaki.blogspot.com/2016/11/…
En Mac, Linux y Windows, es decir, en las 3 plataformas principales, Gradle almacena las dependencias en:
~/.gradle/caches/modules-2/files-2.1
caches/modules-2/files-2.1
, a diferencia de cualquier otra respuesta aquí.
cd %userprofile%\.gradle\caches\modules-2\files-2.1
- un comando breve para ubicar este directorio en Windows.
En PC con Windows 10, se guarda en:
C:\Users\<user>\.gradle\caches\modules-2\files-2.1\
Si desea que sus archivos de dependencia estén en una carpeta específica, simplemente puede usar una copy
tarea para ello. Por ej.
task copyDepJars(type: Copy) {
from configurations.compile
into 'C:\\Users\\athakur\\Desktop\\lib'
}
La carpeta del repositorio local de Gradle es:
Las dependencias definidas se cargarán desde repositorios remotos en la carpeta de repositorios locales de gradle. Para cada archivo cargado, Gradle creará una nueva carpeta con el valor md5 del archivo original (pom, jar, ..). La ruta completa para el archivo de dependencia se compone de:
Si nuestra dependencia definida es:
Luego la biblioteca se cargará en:
Estoy en windows
Deberías poder encontrar las dependencias dentro
$ USER_HOME.gradle \ caches \ artifacts-24 \ filestore
~/.gradle/caches/modules-2/files-2.1
.
De hecho, la ubicación de la memoria caché depende del GRADLE_USER_HOME
valor de la variable de entorno. Por defecto, está $USER_HOME/.gradle
basado en Unix-OS y %userprofile%.\gradle
en Windows.
Pero si configura esta variable, el directorio de caché se ubicaría desde esta ruta.
Y sea cual sea el caso, debe investigar caches\modules-2\files-2.1
para encontrar las dependencias.
¡Muchas respuestas son correctas! Quiero agregar que puede encontrar fácilmente su ubicación de descarga con
gradle --info build
como se describe en https://stackoverflow.com/a/54000767/4471199 .
Los nuevos artefactos descargados se mostrarán en 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
En este caso, utilicé la imagen del acoplador gradle:5.6.2-jdk12
. Como puede ver, el contenedor acoplable se utiliza /tmp
como ubicación de descarga.
En Android Studio, realice los siguientes pasos para verificar el archivo jar descargado por Gradle.
Me tomó un tiempo darme cuenta de esto, de ahí la respuesta adicional. Espero que pueda ahorrarle tiempo a la gente. Tenga en cuenta que si está ejecutando sudo gradle
las dependencias puede no estar en su directorio de inicio, incluso si sudo echo $HOME
regresa /Users/<my-non-root-user>/
. En mi Mac, Gradle estaba almacenando en caché las dependencias /private/var/root/.gradle/caches/
.
~/.gradle/caches/modules-2/files-2.1
.