स्थानीय फ़ाइल सिस्टम पर ग्रेड की दुकान


235

ग्रैडल ने स्थानीय फ़ाइल सिस्टम पर जार फ़ाइलों को कैसे डाउनलोड किया है? मावेन उन्हें .m2निर्देशिका के तहत USER_HOMEस्टोर करता है, लेकिन ग्रैडल उन्हें कहाँ संग्रहीत करता है? मैंने .gradleवहां फ़ोल्डर चेक किया , लेकिन केवल संकलित स्क्रिप्ट देखी।

जवाबों:


224

USER_HOME/.gradleफ़ोल्डर में कलाकृतियों को ढालें । संकलित स्क्रिप्ट आमतौर पर .gradleआपके प्रोजेक्ट फ़ोल्डर में फ़ोल्डर में होती हैं।

यदि आपको कैश नहीं मिल रहा है, तो शायद यह इसलिए है क्योंकि आपने अभी तक कोई कलाकृतियों को कैश्ड नहीं किया है। आप हमेशा देख सकते हैं कि ग्रैडल ने एक साधारण स्क्रिप्ट के साथ कलाकृतियों को कैच किया है:

apply plugin: 'java'

repositories{
  mavenCentral()
}

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

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

अब अगर आप gradle showMeCacheइसे चलाते हैं तो डिप्स को कैश में डाउनलोड करना चाहिए और पूरा रास्ता प्रिंट करना चाहिए।


62
2.4 ग्रेड के लिए मेरे मैक पर, यह (वर्तमान में) है ~/.gradle/caches/modules-2/files-2.1
अर्जन

4
बाएं शिफ्ट ऑपरेटर <<को ग्रैडल
rvazquezglez

1
बाएं शिफ्ट ऑपरेटर को पदावनत किया जाता है, लेकिन फिर भी वह काम करता है (ग्रेड 4.10 के रूप में)। यह ग्रेड 5 तक काम जारी रखने जा रहा है
सैम

272

सभी प्रमुख प्लेटफार्मों पर मैक, लिनक्स और विंडोज पर, ग्रेडल निर्भरता को स्टोर करता है:

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

52
caches/modules-2/files-2.1यहाँ हर दूसरे उत्तर के विपरीत, वास्तव में प्रश्न का उत्तर देने के लिए धन्यवाद ।
स्पाकार्की 21

cd %userprofile%\.gradle\caches\modules-2\files-2.1- विंडोज पर इस निर्देशिका का पता लगाने के लिए एक छोटा कमांड।
दिमित्री पोपोव

19

विंडोज 10 पीसी में, इसे यहां सेव किया गया है:

C:\Users\<user>\.gradle\caches\modules-2\files-2.1\

क्या मैं उस पथ को किसी अन्य स्थान पर बदल सकता हूं?
मोहम्मद फैसल

वास्तव में MacOS पर वही
shabunc

@MohammadFaisal हां, देखें stackoverflow.com/a/28927173/192373
एलेक्स कोहेन

13

यदि आप चाहते हैं कि आपकी निर्भरता की फाइलें कुछ विशिष्ट फ़ोल्डर में हों तो आप इसके लिए किसी copyकार्य का उपयोग कर सकते हैं । जैसे के लिए।

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

आपका कार्य कंसोल में NO-SOUR प्रिंट करता है, और निर्भरता की प्रतिलिपि नहीं बनाता है !!
मोजतबा

12

ग्रेड का स्थानीय रिपॉजिटरी फ़ोल्डर है:

  • $ USER_HOME / .gradle / कैश / मॉड्यूल-2 / फ़ाइलें-2.1

परिभाषित निर्भरताएँ दूरस्थ रिपॉजिटरी से ग्रेडेल के स्थानीय रिपॉजिटरी फ़ोल्डर में लोड की जाएंगी। प्रत्येक भरी हुई फ़ाइल के लिए, मूल फ़ाइल का pd5 मान (pom, jar, ..) नाम से एक नया फ़ोल्डर बनाना होगा। निर्भरता फ़ाइल के लिए पूर्ण पथ निम्न से बना है:

  • समूहीकृत + विरूपण साक्ष्य + संस्करण + FILE_MD5_VALUE + FILE_NAME

यदि हमारी परिभाषित निर्भरता है:

  • संकलन 'org.springframework: स्प्रिंग-जेडडीबीसी: 4.3.4। जारी करें'

फिर पुस्तकालय में लोड किया जाएगा:

  • /$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

MD5 अब पदावनत हो गया है यह SHA1 मान का उपयोग करता है
अल्फ़ागुई

बाद में FILE_HASH_VALUE अधिक सामान्य रहा। आपकी टिप्पणी के लिए धन्यवाद।
निक्स

7

मैं खिड़कियों पर हूँ,

आपको अंदर की निर्भरता खोजने में सक्षम होना चाहिए

$ USER_HOME.gradle \ कैश \ कलाकृतियों -24 \ filestore


6
2.4 ग्रेड के लिए मेरे मैक पर, यह (वर्तमान में) है ~/.gradle/caches/modules-2/files-2.1
अर्जन

\ उपयोगकर्ता [उपयोगकर्ता] \ Gradle \ कैश \ मॉड्यूल -2 \ फ़ाइलों-2.1: मैं खिड़कियों 10 उपयोग करें और यह अंतर्गत सहेजा जाता है: सी।
user666

5

वास्तव में कैश स्थान GRADLE_USER_HOMEपर्यावरण चर मूल्य पर निर्भर करता है । डिफ़ॉल्ट रूप से, यह $USER_HOME/.gradleयूनिक्स-ओएस पर और %userprofile%.\gradleविंडोज पर आधारित है ।
लेकिन अगर आप इस चर को सेट करते हैं, तो कैश निर्देशिका इस पथ से स्थित होगी।

और जो भी हो, आपको caches\modules-2\files-2.1निर्भरता खोजने के लिए खुदाई करनी चाहिए ।


3

आप --project-cache-dir "/Users/whatever/.gradle/"वर्गीकृत कैश निर्देशिका को बाध्य करने के लिए gradle तर्क का उपयोग कर सकते हैं ।

इस तरह आप यह सुनिश्चित कर सकते हैं कि आप जानते हैं कि किस निर्देशिका का उपयोग किया जा रहा है (साथ ही विभिन्न परियोजनाओं के लिए अलग-अलग कैश बनाएं)


2

कई उत्तर सही हैं! मैं यह जोड़ना चाहता हूं कि आप आसानी से अपना डाउनलोड स्थान ढूंढ सकते हैं

gradle --info build

जैसे कि https://stackoverflow.com/a/54000767/4471199 में वर्णित है ।

नई डाउनलोड की गई कलाकृतियों को स्टडआउट में दिखाया जाएगा:

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डाउनलोड स्थान के रूप में उपयोग करता है ।


1

मामले में यह एक एंड्रॉइड ग्रेडल प्रोजेक्ट है - आप अपने $ ANDROID_HOME / अतिरिक्त / Android / m2repository फ़ोल्डर के नीचे Android लाइब्रेरी पा सकते हैं


1

एंड्रॉइड स्टूडियो में ग्रेडेड डाउनलोड की गई जार फ़ाइल की जांच करने के लिए निम्न चरणों का पालन करें।

  1. "प्रोजेक्ट" के लिए प्रोजेक्ट संरचना दृश्य सेट करें
  2. नीचे उपलब्ध बाहरी पुस्तकालय अनुभाग में, इसका विस्तार करें।
  3. यहां आप डाउनलोड की गई जार फाइलें देख सकते हैं। यहां छवि विवरण दर्ज करें

1

ग्रहण में स्थापित "निर्माण 2.0.2" प्लगइन के साथ मेरी विंडोज़ मशीन पर, निर्भरताएं संग्रहीत हैं:

$ USER_HOME.gradle \ कैश \ मॉड्यूल -2 \ फ़ाइलों-2.1


1

मुझे यह महसूस करने में थोड़ा समय लगा, इसलिए अतिरिक्त उत्तर मिला। उम्मीद है कि यह लोगों का समय बचा सकता है। ध्यान दें कि यदि आप sudo gradleनिर्भरता चला रहे हैं तो आपके घर की निर्देशिका में नहीं हो सकता है, भले ही sudo echo $HOMEरिटर्न /Users/<my-non-root-user>/। मेरे मैक पर, ग्रैडल निर्भरता में कैशिंग कर रहा था /private/var/root/.gradle/caches/


0

मेरे मामले के लिए, मैं एक आइवी रिपॉजिटरी का उपयोग कर रहा था, और मेरे ग्रैडल निर्भरता में संग्रहीत किया गया था ~/.ivy2/


0

मैं बस इस जवाब के लिए खोज करते हुए इस पर ठोकर खाई। यदि आप इंटेलीज का उपयोग कर रहे हैं, तो आप फ़ाइल स्थान पर नेविगेट कर सकते हैं, लेकिन प्रोजेक्ट एक्सप्लोरर में बाहरी काम का फ़ोल्डर खोलना, जार पर राइट क्लिक करना, और ओपन लाइब्रेरी सेटिंग्स चुनें।यहां छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.