¿Cómo almacena Gradle los archivos jar descargados en el sistema de archivos local? Maven los almacena en el .m2directorio debajo USER_HOME, pero ¿dónde los almacena Gradle? Revisé la .gradlecarpeta 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 .m2directorio debajo USER_HOME, pero ¿dónde los almacena Gradle? Revisé la .gradlecarpeta allí, pero solo vi scripts compilados.
Respuestas:
Gradle almacena en caché los artefactos en la USER_HOME/.gradlecarpeta. Los scripts compilados generalmente están en la .gradlecarpeta 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 copytarea 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_HOMEvalor de la variable de entorno. Por defecto, está $USER_HOME/.gradlebasado en Unix-OS y %userprofile%.\gradleen 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.1para 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 /tmpcomo 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 gradlelas dependencias puede no estar en su directorio de inicio, incluso si sudo echo $HOMEregresa /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.