tutorial traduccion mac gradle

traduccion - Gradle store en el sistema de archivos local



gradle vs maven (12)

En Mac, Linux y Windows, es decir, en las 3 plataformas principales, Gradle almacena dependencias en:

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

¿Cómo almacena Gradle los archivos jar descargados en el sistema de archivos local? Maven los almacena en el directorio .m2 en USER_HOME , pero, ¿dónde los almacena Gradle? .gradle carpeta .gradle allí, pero solo vi scripts compilados.


En Windows 10 PC, se guarda en:

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


En caso de que se trate de un proyecto gradle de Android, puede encontrar las bibliotecas de Android debajo de su carpeta $ ANDROID_HOME / extras / android / m2repository


En el estudio de Android, realice los siguientes pasos para verificar el archivo jar descargado de gradle.

  1. Establecer vista de estructura de proyecto en "Proyecto"
  2. En la parte inferior de la sección Biblioteca externa disponible, amplíelo.
  3. Aquí puede ver los archivos jar descargados.

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


Estoy en Windows,

Deberías poder encontrar las dependencias dentro

$ USER_HOME.gradle / caches / artifacts-24 / filestore


Gradle almacena artefactos en la carpeta USER_HOME/.gradle . Los scripts compilados suelen estar en la carpeta .gradle en su carpeta de proyectos.

Si no puede encontrar el caché, tal vez sea porque todavía no ha almacenado ningún artefacto en caché. Siempre puede ver dónde Gradle ha guardado en caché los artefactos con un simple script:

apply plugin: ''java'' repositories{ mavenCentral() } dependencies{ compile ''com.google.guava:guava:12.0'' } task showMeCache << { configurations.compile.each { println it } }

Ahora, si ejecuta gradle showMeCache , debería descargar los deps en el caché e imprimir la ruta completa.


La carpeta del repositorio local de Gradle es:

  • $ USER_HOME / .gradle / caches / modules-2 / files-2.1

Las dependencias definidas se cargarán desde repositorios remotos en la carpeta del repositorio local de gradle. Para cada archivo cargado, gradle creará una nueva carpeta nombrada con el valor md5 del archivo original (pom, jar, ..). La ruta completa para el archivo de dependencia se compone de:

  • groupid + artifactid + versión + FILE_MD5_VALUE + FILE_NAME

Si nuestra dependencia definida es:

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

Luego la biblioteca se cargará en:

  • /$USER_HOME/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/4.3.4.RELEASE/ 42175d194cf6aa7c716c0887f30255e5c0a5262c /spring-jdbc-4.3.4.RELEASE.jar

Me tomó un tiempo darme cuenta de esto, de ahí la respuesta adicional. Con suerte, puede ahorrarle tiempo a la gente. Tenga en cuenta que si está ejecutando sudo gradle las dependencias pueden no estar en su directorio de inicio, incluso si sudo echo $HOME devuelve /Users/<my-non-root-user>/ . En mi Mac, Gradle estaba almacenando en caché las dependencias en /private/var/root/.gradle/caches/ .


Para mi caso, estaba usando un repositorio de Ivy, y mis dependencias de Gradle estaban almacenadas en ~/.ivy2/ .


Puede usar el argumento de --project-cache-dir "/Users/whatever/.gradle/" para forzar el directorio de caché de gradle.

De esta forma, puede estar seguro de saber qué directorio se está utilizando (así como crear diferentes cachés para diferentes proyectos)


Si desea que sus archivos de dependencia estén en una carpeta específica, simplemente puede usar una tarea de copy para ella. Por ejemplo

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