Gradle-Speicher im lokalen Dateisystem


235

Wie speichert Gradle heruntergeladene JAR-Dateien im lokalen Dateisystem? Maven speichert sie im .m2Verzeichnis unter USER_HOME, aber wo speichert Gradle sie? Ich habe dort den .gradleOrdner überprüft , aber nur kompilierte Skripte gesehen.

Antworten:


224

Gradle speichert Artefakte im USER_HOME/.gradleOrdner zwischen. Die kompilierten Skripte befinden sich normalerweise in dem .gradleOrdner in Ihrem Projektordner.

Wenn Sie den Cache nicht finden können, liegt dies möglicherweise daran, dass Sie noch keine Artefakte zwischengespeichert haben. Mit einem einfachen Skript können Sie immer sehen, wo Gradle Artefakte zwischengespeichert hat:

apply plugin: 'java'

repositories{
  mavenCentral()
}

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

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

Wenn Sie gradle showMeCachees jetzt ausführen , sollten Sie die Deps in den Cache herunterladen und den vollständigen Pfad drucken.


62
Auf meinem Mac für Gradle 2.4 ist es (derzeit) in ~/.gradle/caches/modules-2/files-2.1.
Arjan

4
Der Linksschichtbetreiber <<wird auf Gradle 3.2 mrhaki.blogspot.com/2016/11/…
rvazquezglez

1
Der Linksschichtoperator ist veraltet, funktioniert aber weiterhin (ab Gradle 4.10). Es wird bis Gradle 5
Sam

272

Auf Mac, Linux und Windows, dh auf allen drei Hauptplattformen, speichert Gradle Abhängigkeiten unter:

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

52
Vielen Dank, dass Sie die Frage tatsächlich mit beantwortet haben caches/modules-2/files-2.1, im Gegensatz zu jeder anderen Antwort hier.
Spaaarky21

cd %userprofile%\.gradle\caches\modules-2\files-2.1- Ein kurzer Befehl zum Suchen in diesem Verzeichnis unter Windows.
Dmitriy Popov


13

Wenn Sie möchten, dass sich Ihre Abhängigkeitsdateien in einem bestimmten Ordner befinden, können Sie einfach eine copyAufgabe dafür verwenden. Zum Beispiel.

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

Ihre Aufgabe druckt NO-SOURCE in der Konsole und kopiert keine Abhängigkeiten !!
Mojtaba

12

Der lokale Repository-Ordner von Gradle lautet:

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

Definierte Abhängigkeiten werden aus Remote-Repositorys in den lokalen Repository-Ordner von gradle geladen. Für jede geladene Datei erstellt gradle einen neuen Ordner mit dem Namen md5 der Originaldatei (pom, jar, ..). Der vollständige Pfad für die Abhängigkeitsdatei besteht aus:

  • Gruppen-ID + Artefakt-ID + Version + FILE_MD5_VALUE + FILE_NAME

Wenn unsere definierte Abhängigkeit ist:

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

Dann wird die Bibliothek geladen in:

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

MD5 ist veraltet, jetzt verwendet es SHA1-Wert
alphaguy

Danach war FILE_HASH_VALUE allgemeiner. Danke für Ihren Kommentar alphaguy.
Nix

7

Ich bin an Fenstern,

Sie sollten in der Lage sein, die Abhängigkeiten darin zu finden

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


6
Auf meinem Mac für Gradle 2.4 ist es (derzeit) in ~/.gradle/caches/modules-2/files-2.1.
Arjan

Ich benutze Windows 10 und es wird gespeichert unter: C: \ Benutzer [Benutzer] \. Gradle \ Caches \ Module-2 \ Dateien-2.1
Benutzer666

5

Tatsächlich hängt der Cache-Speicherort vom GRADLE_USER_HOMEWert der Umgebungsvariablen ab. Standardmäßig ist es $USER_HOME/.gradleunter Unix-OS und %userprofile%.\gradleunter Windows.
Wenn Sie diese Variable festlegen, befindet sich das Cache-Verzeichnis über diesen Pfad.

Und in jedem Fall sollten Sie caches\modules-2\files-2.1sich mit den Abhängigkeiten befassen.


3

Mit dem Argument gradle können Sie --project-cache-dir "/Users/whatever/.gradle/"das Gradle-Cache-Verzeichnis erzwingen.

Auf diese Weise können Sie verdammt sicher sein, dass Sie wissen, welches Verzeichnis verwendet wird (und verschiedene Caches für verschiedene Projekte erstellen).


2

Viele Antworten sind richtig! Ich möchte hinzufügen, dass Sie Ihren Download-Speicherort mit leicht finden können

gradle --info build

wie unter https://stackoverflow.com/a/54000767/4471199 beschrieben .

Neue heruntergeladene Artefakte werden in stdout angezeigt:

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

In diesem Fall habe ich das Docker-Image verwendet gradle:5.6.2-jdk12. Wie Sie sehen können, wird der Docker-Container /tmpals Download-Speicherort verwendet.


1

Falls es sich um ein Android-Gradle-Projekt handelt, finden Sie die Android-Bibliotheken unter Ihrem Ordner $ ANDROID_HOME / extras / android / m2repository


1

Führen Sie in Android Studio die folgenden Schritte aus, um die von gradle heruntergeladene JAR-Datei zu überprüfen.

  1. Stellen Sie die Projektstrukturansicht auf "Projekt".
  2. Erweitern Sie den unten verfügbaren Abschnitt Externe Bibliothek.
  3. Hier sehen Sie heruntergeladene JAR-Dateien. Geben Sie hier die Bildbeschreibung ein

1

Auf meinem Windows-Computer mit dem in Eclipse installierten Plugin "Buildship 2.0.2" werden Abhängigkeiten gespeichert:

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


1

Ich habe eine Weile gebraucht, um dies zu realisieren, daher die zusätzliche Antwort. Hoffentlich kann es den Leuten Zeit sparen. Beachten Sie, dass sich sudo gradledie Abhängigkeiten beim Ausführen möglicherweise nicht in Ihrem Ausgangsverzeichnis befinden, auch wenn sie sudo echo $HOMEzurückgegeben werden /Users/<my-non-root-user>/. Auf meinem Mac hat Gradle die Abhängigkeiten zwischengespeichert /private/var/root/.gradle/caches/.


0

In meinem Fall habe ich ein Ivy-Repository verwendet und meine Gradle-Abhängigkeiten wurden in gespeichert ~/.ivy2/.


0

Ich bin gerade darauf gestoßen, als ich nach dieser Antwort gesucht habe. Wenn Sie Intellij verwenden, können Sie zum Speicherort der Datei navigieren, aber den externen lib-Ordner im Projektexplorer öffnen, mit der rechten Maustaste auf das JAR klicken und Bibliothekseinstellungen öffnen auswählen.Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.