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
하면 dep를 캐시로 다운로드하고 전체 경로를 인쇄해야합니다.
답변
Mac, Linux 및 Windows, 즉 3 개의 주요 플랫폼 모두에서 Gradle은 다음 위치에 종속성을 저장합니다.
~/.gradle/caches/modules-2/files-2.1
답변
Windows 10 PC에서는 다음 위치에 저장됩니다.
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의 로컬 저장소 폴더는 다음과 같습니다.
- $ USER_HOME / .gradle / caches / modules-2 / files-2.1
정의 된 종속성은 원격 저장소에서 gradle의 로컬 저장소 폴더로로드됩니다. 로드 된 각 파일에 대해 gradle은 원본 파일의 md5 값 (pom, jar, ..)으로 이름이 지정된 새 폴더를 만듭니다. 종속성 파일의 전체 경로는 다음으로 구성됩니다.
- groupid + artifactid + 버전 + FILE_MD5_VALUE + FILE_NAME
정의 된 의존성이 다음과 같은 경우 :
- ‘org.springframework : spring-jdbc : 4.3.4.RELEASE’컴파일
그런 다음 라이브러리가 다음으로로드됩니다.
- /$USER_HOME/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/4.3.4.RELEASE/ 42175d194cf6aa7c716c0887f30255e5c0a5262c /spring-jdbc-4.3.4.RELEASE.jar
답변
나는 창문에있다
내부의 의존성을 찾을 수 있어야합니다
$ USER_HOME.gradle \ caches \ artifacts-24 \ filestore
답변
실제로 캐시 위치는 GRADLE_USER_HOME
환경 변수 값 에 따라 다릅니다 . 기본적 $USER_HOME/.gradle
으로 Unix-OS 기반 및 %userprofile%.\gradle
Windows에 있습니다.
그러나이 변수를 설정하면 캐시 디렉토리는이 경로에서 찾을 수 있습니다.
그리고 어떤 경우이든 caches\modules-2\files-2.1
의존성을 찾기 위해 파헤쳐 야합니다 .