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.
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.
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
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'
}
Sous Windows 10 PC, il est enregistré dans:
C:\Users\<user>\.gradle\caches\modules-2\files-2.1\
Le dossier du référentiel local de Gradle est:
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:
Si notre dépendance définie est:
Ensuite, la bibliothèque sera chargée dans:
Je suis aux fenêtres,
Vous devriez pouvoir trouver les dépendances à l'intérieur
$ USER_HOME.gradle\caches\artifacts-24\filestore
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)
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.
S'il s'agit d'un projet Android - vous trouverez les bibliothèques Android sous votre dossier $ Android_HOME/extras/Android/m2repository
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/
.
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.
Pour mon cas, j'utilisais un référentiel Ivy et mes dépendances Gradle étaient stockées dans ~/.ivy2/
.
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