¿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.
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.
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.
Puede usar el argumento gradle --project-cache-dir "/Users/whatever/.gradle/"
para forzar el directorio de caché gradle.
De esta manera, puede estar seguro de saber qué directorio se está utilizando (así como crear diferentes cachés para diferentes proyectos)
¡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 caso de que sea un proyecto de Android gradle, puede encontrar las bibliotecas de Android debajo de su carpeta de depósito $ ANDROID_HOME / extras / android / m2
En Android Studio, realice los siguientes pasos para verificar el archivo jar descargado por Gradle.
En mi máquina Windows con el complemento "Buildship 2.0.2" instalado en eclipse, las dependencias se almacenan:
$ USER_HOME.gradle \ caches \ modules-2 \ files-2.1
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/
.
Para mi caso, estaba usando un repositorio Ivy, y mis dependencias de Gradle estaban almacenadas ~/.ivy2/
.
Me topé con esto mientras buscaba esta respuesta. Si está utilizando intellij, puede navegar a la ubicación del archivo, pero abriendo la carpeta lib externa en el explorador de proyectos, haciendo clic derecho en el archivo jar y seleccionando Abrir configuración de biblioteca.
~/.gradle/caches/modules-2/files-2.1
.<<
está en desuso en Gradle 3.2 mrhaki.blogspot.com/2016/11/…