Magasin Gradle sur le système de fichiers local


236

Comment Gradle stocke-t-il les fichiers jar téléchargés sur le système de fichiers local? Maven les stocke dans le .m2répertoire sous USER_HOME, mais où Gradle les stocke-t-il? J'ai vérifié le .gradledossier là-bas, mais je n'ai vu que des scripts compilés.

Réponses:


224

Gradle met en cache les artefacts dans le USER_HOME/.gradledossier. Les scripts compilés se trouvent généralement dans le .gradledossier de votre dossier de projet.

Si vous ne trouvez pas le cache, c'est peut-être parce que vous n'avez pas encore mis en cache d'artefacts. Vous pouvez toujours voir où Gradle a mis en cache des artefacts avec un simple script:

apply plugin: 'java'

repositories{
  mavenCentral()
}

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

task showMeCache << {
  configurations.compile.each { println it }
}

Maintenant, si vous l'exécutez, vous devez gradle showMeCachetélécharger les dépôts dans le cache et imprimer le chemin complet.


62
Sur mon Mac pour Gradle 2.4, il est (actuellement) disponible ~/.gradle/caches/modules-2/files-2.1.
Arjan

4
l'opérateur de décalage à gauche <<est déconseillé sur Gradle 3.2 mrhaki.blogspot.com/2016/11/…
rvazquezglez

1
L'opérateur de décalage gauche est déconseillé mais fonctionne toujours (à partir de Gradle 4.10). Ça va continuer à fonctionner jusqu'à Gradle 5
Sam

272

Sur Mac, Linux et Windows, c'est-à-dire sur les 3 principales plates-formes, Gradle stocke les dépendances sur:

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

52
Merci d'avoir répondu à la question avec caches/modules-2/files-2.1, contrairement à toutes les autres réponses ici.
spaaarky21

cd %userprofile%\.gradle\caches\modules-2\files-2.1- une courte commande pour localiser ce répertoire sous Windows.
Dmitriy Popov


13

Si vous souhaitez que vos fichiers de dépendance se trouvent dans un dossier spécifique, vous pouvez simplement utiliser une copytâche pour cela. Par exemple.

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

Votre tâche imprime NO-SOURCE dans la console, et ne copiez pas les dépendances !!
Mojtaba

12

Le dossier du référentiel local de Gradle est:

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

Les dépendances définies seront chargées à partir des référentiels distants dans le dossier du référentiel local de gradle. Pour chaque fichier chargé, gradle créera un nouveau dossier nommé avec la valeur md5 du fichier d'origine (pom, jar, ..). Le chemin complet du fichier de dépendance est composé de:

  • groupid + artifactid + version + FILE_MD5_VALUE + FILE_NAME

Si notre dépendance définie est:

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

Ensuite, la bibliothèque sera chargée dans:

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

MD5 est obsolète maintenant il utilise la valeur SHA1
alphaguy

Par la suite, FILE_HASH_VALUE était plus générique. Merci pour votre commentaire alphaguy.
nix

7

Je suis sur windows,

Vous devriez pouvoir trouver les dépendances à l'intérieur

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


6
Sur mon Mac pour Gradle 2.4, il est (actuellement) disponible ~/.gradle/caches/modules-2/files-2.1.
Arjan

J'utilise Windows 10 et il est enregistré sous: C: \ Users [user] \. Gradle \ caches \ modules-2 \ files-2.1
user666

5

En fait, l'emplacement du cache dépend de la GRADLE_USER_HOMEvaleur de la variable d'environnement. Par défaut, il est $USER_HOME/.gradlebasé sur Unix-OS et %userprofile%.\gradlesur Windows.
Mais si vous définissez cette variable, le répertoire de cache serait situé à partir de ce chemin.

Et quel que soit le cas, vous devriez creuser caches\modules-2\files-2.1pour trouver les dépendances.


3

Vous pouvez utiliser l'argument gradle --project-cache-dir "/Users/whatever/.gradle/" pour forcer le répertoire de cache gradle.

De cette façon, vous pouvez être sûr que vous savez quel répertoire est utilisé (ainsi que créer différents caches pour différents projets)


2

De nombreuses réponses sont correctes! Je veux ajouter que vous pouvez facilement trouver votre emplacement de téléchargement avec

gradle --info build

comme décrit dans https://stackoverflow.com/a/54000767/4471199 .

Les nouveaux artefacts téléchargés seront affichés dans 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

Dans ce cas, j'ai utilisé l'image docker gradle:5.6.2-jdk12. Comme vous pouvez le voir, le conteneur Docker utilise /tmpcomme emplacement de téléchargement.


1

Dans le cas où il s'agit d'un projet Android Gradle - vous pouvez trouver les bibliothèques Android sous votre dossier $ ANDROID_HOME / extras / android / m2repository


1

Dans Android Studio, procédez comme suit pour vérifier le fichier jar gradle téléchargé.

  1. Définissez la vue de la structure du projet sur "Projet"
  2. Au bas de la section Bibliothèque externe disponible, développez-la.
  3. Ici vous pouvez voir les fichiers jar téléchargés. entrez la description de l'image ici

1

Sur ma machine Windows avec le plugin "Buildship 2.0.2" installé dans eclipse, les dépendances sont stockées:

$ USER_HOME.gradle \ caches \ modules-2 \ files-2.1


1

Il m'a fallu un certain temps pour réaliser cela, d'où la réponse supplémentaire. Espérons que cela puisse faire gagner du temps aux gens. Notez que si vous exécutez sudo gradleles dépendances peuvent ne pas être dans votre répertoire personnel, même si sudo echo $HOMEretourne /Users/<my-non-root-user>/. Sur mon Mac, Gradle mettait en cache les dépendances dans /private/var/root/.gradle/caches/.


0

Pour mon cas, j'utilisais un référentiel Ivy et mes dépendances Gradle étaient stockées dans ~/.ivy2/.


0

Je suis juste tombé dessus en cherchant cette réponse. Si vous utilisez intellij, vous pouvez accéder à l'emplacement du fichier, mais en ouvrant le dossier lib externe dans l'explorateur de projet, en cliquant avec le bouton droit sur le bocal et en sélectionnant Ouvrir les paramètres de la bibliothèque.entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.