Як 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 в кеш і надрукувати повний шлях.
На 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 \ caches \ artifacts-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
. Як бачите, контейнер docker використовує /tmp
як місце для завантаження.
В андроїд-студії виконайте такі дії, щоб перевірити завантажений jarle файл jarle.
Мені знадобився певний час, щоб зрозуміти це, звідси і додаткова відповідь. Сподіваємось, це може заощадити час для людей. Зауважте, що якщо ви працюєте, sudo gradle
залежності можуть не бути у вашому домашньому каталозі, навіть якщо вони sudo echo $HOME
повертаються /Users/<my-non-root-user>/
. На моєму Mac, Gradle кешував залежності в /private/var/root/.gradle/caches/
.
~/.gradle/caches/modules-2/files-2.1
.