Как Gradle хранит загруженные файлы JAR в локальной файловой системе? Maven хранит их в .m2
каталоге USER_HOME
, но где Gradle хранит их? Я проверил там .gradle
папку, но увидел только скомпилированные скрипты.
Как Gradle хранит загруженные файлы JAR в локальной файловой системе? Maven хранит их в .m2
каталоге USER_HOME
, но где Gradle хранит их? Я проверил там .gradle
папку, но увидел только скомпилированные скрипты.
Ответы:
Gradle кеширует артефакты в USER_HOME/.gradle
папке. Скомпилированные скрипты обычно находятся в .gradle
папке в папке вашего проекта.
Если вы не можете найти кеш, возможно, это потому, что вы еще не кэшировали никаких артефактов. Вы всегда можете увидеть, где Gradle кэшировал артефакты, с помощью простого скрипта:
apply plugin: 'java'
repositories{
mavenCentral()
}
dependencies{
compile 'com.google.guava:guava:12.0'
}
task showMeCache << {
configurations.compile.each { println it }
}
Теперь, если вы запустите gradle showMeCache
его, загрузите deps в кеш и напечатайте полный путь.
<<
устарел на Gradle 3.2 mrhaki.blogspot.com/2016/11/…
На Mac, Linux и Windows, т. Е. На всех трех основных платформах, Gradle хранит зависимости по адресу:
~/.gradle/caches/modules-2/files-2.1
caches/modules-2/files-2.1
ответили на вопрос , в отличие от любого другого ответа здесь.
cd %userprofile%\.gradle\caches\modules-2\files-2.1
- короткая команда, чтобы найти этот каталог в Windows.
В ПК с Windows 10 он сохраняется по адресу:
C:\Users\<user>\.gradle\caches\modules-2\files-2.1\
Если вы хотите, чтобы ваши файлы зависимостей находились в какой-то определенной папке, вы можете просто использовать copy
для этого задачу. Например,
task copyDepJars(type: Copy) {
from configurations.compile
into 'C:\\Users\\athakur\\Desktop\\lib'
}
Папка локального хранилища Gradle:
Определенные зависимости будут загружены из удаленных репозиториев в локальную папку репозитория Gradle. Для каждого загруженного файла gradle создаст новую папку с именем md5 значения исходного файла (pom, jar, ..). Полный путь к файлу зависимости составляется из:
Если наша определенная зависимость:
Затем библиотека будет загружена в:
Я на окнах,
Вы должны быть в состоянии найти зависимости внутри
$ USER_HOME.gradle \ кэширует \ артефакты-24 \ FileStore
~/.gradle/caches/modules-2/files-2.1
.
На самом деле расположение кэша зависит от GRADLE_USER_HOME
значения переменной среды. По умолчанию он работает $USER_HOME/.gradle
на Unix-OS и %userprofile%.\gradle
Windows.
Но если вы установите эту переменную, каталог кэша будет расположен по этому пути.
И в любом случае, вы должны покопаться, caches\modules-2\files-2.1
чтобы найти зависимости.
Многие ответы верны! Я хочу добавить, что вы можете легко найти ваше местоположение загрузки с
gradle --info build
как описано в https://stackoverflow.com/a/54000767/4471199 .
Новые загруженные артефакты будут показаны в 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
В этом случае я использовал образ докера gradle:5.6.2-jdk12
. Как видите, докер-контейнер использует в /tmp
качестве места загрузки.
В Android Studio выполните следующие действия, чтобы проверить загруженный файл jar.
Мне потребовалось время, чтобы понять это, отсюда и дополнительный ответ. Надеюсь, это поможет сэкономить время. Обратите внимание, что если вы работаете, sudo gradle
зависимости могут отсутствовать в вашем домашнем каталоге, даже если sudo echo $HOME
возвращается /Users/<my-non-root-user>/
. На моем Mac Gradle кэшировал зависимости в /private/var/root/.gradle/caches/
.
~/.gradle/caches/modules-2/files-2.1
.