web-dev-qa-db-fra.com

Magasin de niveaux sur le système de fichiers local

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

186
manojpardeshi111

Gradle met en cache les artefacts dans le dossier USER_HOME/.gradle. Les scripts compilés se trouvent généralement dans le dossier .gradle 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 script simple:

apply plugin: 'Java'

repositories{
  mavenCentral()
}

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

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

Maintenant, si vous exécutez gradle showMeCache, il devrait télécharger les dépôts dans le cache et imprimer le chemin complet.

198
rodion

Sur Mac, Linux et Windows, c’est-à-dire sur les 3 principales plates-formes, Gradle enregistre les dépendances dans

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

Si vous voulez que vos fichiers de dépendance se trouvent dans un dossier spécifique, vous pouvez simplement utiliser une tâche copy pour cela. Pour P.

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

Sous Windows 10 PC, il est enregistré dans:

C:\Users\<user>\.gradle\caches\modules-2\files-2.1\
9
Hasan A Yousef

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 de référentiels distants dans le dossier du référentiel local de gradle. Pour chaque fichier chargé, Gradle créera un nouveau dossier portant la valeur md5 du fichier d'origine (pom, jar, ..). Le chemin complet du fichier de dépendance est composé de:

  • groupid + artefact + version + FILE_MD5_VALUE + FILE_NAME

Si notre dépendance définie est:

  • compile '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/ 42175d194cf6aa7c716c0887f30255e5c0a0262c / spring-jdbc-4,2d
7
nix

Je suis aux fenêtres,

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

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

7
mekbib.awoke

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 de savoir quel répertoire est utilisé (ainsi que de créer différents caches pour différents projets)

2
Graeme

En fait, l'emplacement du cache dépend de la valeur de la variable d'environnement GRADLE_USER_HOME . Par défaut, il s'agit de $USER_HOME/.gradle sous Unix-OS et %userprofile%.\gradle sous Windows.
Mais si vous définissez cette variable, le répertoire de cache sera situé à partir de ce chemin.

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

1
davidxxx

S'il s'agit d'un projet Android - vous trouverez les bibliothèques Android sous votre dossier $ Android_HOME/extras/Android/m2repository

1
joensson

Il m'a fallu un certain temps pour m'en rendre compte, d'où la réponse supplémentaire. Espérons que cela permettra aux gens de gagner du temps. Notez que si vous exécutez Sudo gradle, les dépendances peuvent ne pas figurer dans votre répertoire de base, même si Sudo echo $HOME renvoie /Users/<my-non-root-user>/. Sur mon Mac, Gradle mettait en cache les dépendances dans /private/var/root/.gradle/caches/.

1
entpnerd

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

0
Alper Akture

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

0
entpnerd

Dans Android studio, procédez comme suit pour vérifier le fichier jar téléchargé par Gradle.

  1. Définir 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 .  enter image description here
0
chetan mekha

Sur ma machine Windows avec le plug-in "Buildship 2.0.2" installé dans Eclipse, les dépendances sont stockées:

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

0
nanosoft