Como o Gradle armazena arquivos jar baixados no sistema de arquivos local? O Maven as armazena no .m2
diretório abaixo USER_HOME
, mas onde a Gradle as armazena? Eu verifiquei a .gradle
pasta lá, mas vi apenas scripts compilados.
Como o Gradle armazena arquivos jar baixados no sistema de arquivos local? O Maven as armazena no .m2
diretório abaixo USER_HOME
, mas onde a Gradle as armazena? Eu verifiquei a .gradle
pasta lá, mas vi apenas scripts compilados.
Respostas:
Gradle armazena em cache artefatos na USER_HOME/.gradle
pasta. Os scripts compilados geralmente estão na .gradle
pasta na sua pasta do projeto.
Se você não conseguir encontrar o cache, talvez seja porque você ainda não armazenou nenhum artefato em cache. Você sempre pode ver onde o Gradle armazenou artefatos em cache com um script simples:
apply plugin: 'java'
repositories{
mavenCentral()
}
dependencies{
compile 'com.google.guava:guava:12.0'
}
task showMeCache << {
configurations.compile.each { println it }
}
Agora, se você o executar gradle showMeCache
, faça o download dos deps no cache e imprima o caminho completo.
<<
está sendo preterido no Gradle 3.2 mrhaki.blogspot.com/2016/11/…
No Mac, Linux e Windows, ou seja, nas três principais plataformas, a Gradle armazena dependências em:
~/.gradle/caches/modules-2/files-2.1
caches/modules-2/files-2.1
, diferente de todas as outras respostas aqui.
cd %userprofile%\.gradle\caches\modules-2\files-2.1
- um comando curto para localizar neste diretório no Windows.
No Windows 10 PC, ele é salvo em:
C:\Users\<user>\.gradle\caches\modules-2\files-2.1\
Se você deseja que seus arquivos de dependência estejam em uma pasta específica, você pode simplesmente usar uma copy
tarefa para isso. Por exemplo.
task copyDepJars(type: Copy) {
from configurations.compile
into 'C:\\Users\\athakur\\Desktop\\lib'
}
A pasta do repositório local de Gradle é:
Dependências definidas serão carregadas de repositórios remotos na pasta de repositório local da gradle. Para cada arquivo carregado, gradle criará uma nova pasta nomeada com o valor md5 do arquivo original (pom, jar, ..). O caminho completo para o arquivo de dependência é composto de:
Se nossa dependência definida for:
Em seguida, a biblioteca será carregada em:
Estou nas janelas
Você deve encontrar as dependências dentro
$ USER_HOME.gradle \ caches \ artifacts-24 \ filestore
~/.gradle/caches/modules-2/files-2.1
.
De fato, o local do cache depende do GRADLE_USER_HOME
valor da variável de ambiente. Por padrão, ele é $USER_HOME/.gradle
baseado no Unix-OS e %userprofile%.\gradle
no Windows.
Mas se você definir essa variável, o diretório de cache estará localizado nesse caminho.
E, seja qual for o caso, você deve caches\modules-2\files-2.1
procurar as dependências.
Muitas respostas estão corretas! Quero acrescentar que você pode encontrar facilmente o seu local de download com
gradle --info build
como descrito em https://stackoverflow.com/a/54000767/4471199 .
Os novos artefatos baixados serão mostrados no 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
Nesse caso, usei a imagem do docker gradle:5.6.2-jdk12
. Como você pode ver, o contêiner do docker usa /tmp
como local de download.
No android studio, execute as seguintes etapas para verificar o arquivo jar baixado pelo gradle.
Levei um tempo para perceber isso, daí a resposta adicional. Espero que ele possa economizar tempo para as pessoas. Observe que, se você estiver executando, sudo gradle
as dependências podem não estar no diretório inicial, mesmo que sudo echo $HOME
retornem /Users/<my-non-root-user>/
. No meu Mac, Gradle estava armazenando as dependências em cache /private/var/root/.gradle/caches/
.
~/.gradle/caches/modules-2/files-2.1
.