आईडीईए में ग्रैडल के घर को कैसे परिभाषित करें?


390

मैं इंटेलीज में ग्रैडल प्रोजेक्ट को आयात करने की कोशिश कर रहा हूं, और जब मैं Gradle Homeटेक्स्टबॉक्स में पहुंचता हूं , तो यह स्वचालित रूप से आबादी नहीं है, और न ही Gradle Homeवैध स्थान पर परिणाम के मार्ग में टाइप करेगा - मेरे पास GRADLE_USER_HOMEपर्यावरण चर सेट है (जो मुझे लगता है कि मेरे लिए है) !) सही रास्ता है, और मैं इस परियोजना को सफलतापूर्वक ग्रहण करने में सक्षम हूं। कोई सुझाव?


हाँ, JetBrains साइट पर चर्चा यह इंगित करती है कि यह सहानुभूति के साथ एक मुद्दा है - Denis.Zhdanov द्वारा उत्तर देखें: blog.jetbrains.com/idea/2013/04/gradle-improvements-at-121
-cain

1
अच्छा प्रश्न। क्या आप इसके लिए कोई मान्य उत्तर चुनना चाहेंगे। अंकों से मत जाओ - मैं सुझाव दूंगा @ ट्रेंटन का। आप ओएस का उल्लेख करना चाह सकते हैं यह प्रश्न में था।
एकुप्पी

1
यदि आप "डिफ़ॉल्ट ग्रेडर रैपर का उपयोग करें (अनुशंसित)" चुनते हैं, तो आपको ग्रेड होम सेट करने की आवश्यकता नहीं है। दुर्भाग्य से, वे इसके लिए इनपुट बॉक्स को ग्रे नहीं करते हैं - वे केवल संकेत देते हैं कि यह कर्सर के प्रकार से अक्षम है जो आपके पास है जब आप उस पर माउस करते हैं।
एंड्रयू ग्रिम

जवाबों:


479

आप अपनी निर्देशिका को प्रिंट करने के लिए एक सरल ग्रेडल स्क्रिप्ट लिख सकते हैं GRADLE_HOME

task getHomeDir {
    doLast {
        println gradle.gradleHomeDir
    }
}

और इसे नाम दें build.gradle

इसके बाद इसे चलाएं:

gradle getHomeDir

यदि आप होमब्रे के साथ स्थापित हैं, brew info gradleतो आधार पथ (जैसे /usr/local/Cellar/gradle/1.10/) खोजने के लिए उपयोग करें , और बस संलग्न करें libexec

आपके द्वारा उपयोग किए जाने पर कोटलिन में समान कार्य build.gradle.kts:

tasks.register("getHomeDir") {
    println("Gradle home dir: ${gradle.gradleHomeDir}")
}

10
लिनक्स मिंट / उबंटू पर उन लोगों के लिए, फिर /usr/share/gradleइस ग्रेडल स्क्रिप्ट का आउटपुट है।
आर्थर

3
@ मदद करने के लिए खुश रहो। आज रात मैं खुद एक लाभार्थी था। twitter.com/TrentonL/status/729546995686248448
ट्रेंटन

3
यह मेरे लिए काम किया है, लेकिन यह बहुत बेवकूफ है। ग्रैडल स्थापित करने के लिए मैंने ग्रैडल के एसडीके प्रबंधक का उपयोग किया। IntelliJ का उपयोग क्यों नहीं किया जा सकता है?
ऑटोनोमस

Fedora 25 पर वह / usr / share / gradle भी है।
उड़ी सिमोनी

2
आर्क लिनक्स के लिए यह है:/usr/share/java/gradle
SirWojtek

273

होमब्रे के माध्यम से मैक पर स्थापित किया गया, पथ

/usr/local/opt/gradle/libexec

के लिए बेहतर है

/usr/local/Cellar/gradle/X.X/libexec

के बाद से पूर्व संस्करण उन्नयन बच जाएगा।


यह एंड्रॉइड स्टूडियो (एएस 1.3 के रूप में, वैसे भी) के लिए भी मामला है।
जेम्स

एक अच्छा, मैंने अपने GRADLE_HOME को सेट करने के लिए इस जानवर का उपयोग करके समाप्त कर दिया (काढ़ा के साथ ढाल को अपग्रेड करते समय मुद्दों को रोकने के लिए) export GRADLE_HOME=`python -c "import os; print(os.path.realpath('$(which gradle)'))" | xargs dirname | xargs dirname | xargs printf "%s/libexec"` अगर कोई भी सरल कर सकता है, तो वह भी आसान होगा :)
mlo55

2
@ mlo55 का उपयोग करने के लिए बहुत आसान हैexport GRADLE_HOME=$(realpath $(brew --prefix gradle))/libexec
delitescere

@ mlo55 आपने केवल which gradleशेल में कॉल करने के बजाय अजगर में ऐसा क्यों किया ?
माइक यंग

@ मायकेयुंग, मेरे पास उस समय स्थापित रियलपथ नहीं था। nb: मैं अब export GRADLE_HOME="$(brew --prefix gradle)/libexec/"@delitescene द्वारा अनुशंसित उपयोग करता हूं। तुलना ls "$(brew --prefix gradle)/libexec/"के साथ ls "$(which gradle)/libexec/"OSX पर, उर काढ़ा का उपयोग कर सकते हैं।
mlo55

93

यदि आपने होमब्रे के साथ ग्रेडेल स्थापित किया है, तो पथ है:

/usr/local/Cellar/gradle/X.X/libexec

XX का संस्करण कहां है (वर्तमान में 2.1)


46

यदि आप IntelliJ का उपयोग कर रहे हैं, तो बस निम्नलिखित करें।

  1. प्रोजेक्ट बंद करें
  2. (पुनः) परियोजना खोलें
  3. आपको दाईं ओर "इंपोर्ट ग्रेड प्रोजेक्ट" संदेश दिखाई देगा। पर क्लिक करें।
  4. "डिफ़ॉल्ट ग्रेडर आवरण का उपयोग करें" चुनें। "स्थानीय स्थानीय वितरण का उपयोग करें"

यहां छवि विवरण दर्ज करें

बस इतना ही।


यदि आप "डिफ़ॉल्ट ग्रेडर रैपर का उपयोग करें" चुनते हैं, तो ग्रेडल होम की आपूर्ति करना आवश्यक नहीं है?
एंड्रयू ग्रिम

उत्तर: हाँ। इसे बुरा UX पर दोष दें जिसे मैंने पहले नोटिस नहीं किया था।
एंड्रयू ग्रिम

1
"Use gradle 'wrapper' task configuration"मेरे लिए काम किया - idk इसका क्या मतलब है सोचा
scottysseus

1
अगर आप चाहते हैं कि IDEA आपके वास्तविक निर्माण स्क्रिप्ट से आपके लिए अपने ग्रेडेल संस्करण को परिभाषित करे तो आप "यूज़ ग्रेडेल 'रैपर' टास्क कॉन्फिगरेशन" का चयन करें
Cloudish123

@AndrewGrimm मेरे मामले में यह रेडियो बटन अक्षम है। इसलिए मैं इसका चयन नहीं कर सकता। कोई विचार?
मिखाइल ज़ेगेंती

42

ग्रैडल प्रोजेक्ट को आयात करते समय IDEA के लिए ग्रेडल होम सेट नहीं होने की समस्या को हल करने में यह मेरी मदद करता है।

तीन विकल्प - (ए) डिफ़ॉल्ट आवरण (बी) "ग्रेडर 'रैपर' कार्य विन्यास" या (सी) "स्थानीय ग्रेडेल वितरण" जो कि जेटब्रिंस द्वारा परिभाषित किया गया है: https://www.jetbrains.com/help/idea/gradle-settings .html

ए। डिफ़ॉल्ट आवरण (अनुशंसित)

यदि आप सक्षम हैं, तो इस अनुशंसित विकल्प का चयन करें। यदि यह धूसर हो जाता है, तो विकल्प C देखें, जिसे बाद में सभी परियोजनाओं के लिए अपना डिफ़ॉल्ट सेट करना चाहिए।

B. ग्रेड 'रैपर' टास्क कॉन्फ़िगरेशन

यदि आप चाहते हैं कि IDEA आपके बिल्ड स्क्रिप्ट से आपके लिए अपने ग्रेडेल संस्करण को परिभाषित करे

  1. इस विकल्प को सेट करें यदि आप अपने ग्रेडेल बिल्ड संस्करणों को अपने वास्तविक ग्रेडल बिल्ड के भीतर कार्य के रूप में परिभाषित करते हैं।

जेटब्रेन्स से नीचे उदाहरण: https://www.jetbrains.com/help/idea/gradle-settings.html

यहां छवि विवरण दर्ज करें

(उपयोगी अगर आप परियोजनाओं के बीच ग्रेडेल बिल्ड साझा नहीं करना चाहते हैं)

सी। स्थानीय ग्रेड वितरण

1. Run the following command to get gradle location:

   brew info gradle (if gradle was installed with homebrew)


2. You are looking for something like this:

   /usr/local/Cellar/gradle/4.8.1


3. Next, append 'libexec' to the gradle location you just found:

/usr/local/Cellar/gradle/4.8.1/libexec

इसका कारण यह है "लिबेक्सेक का उपयोग अन्य कार्यक्रमों द्वारा निष्पादित अन्य डेमॉन और सिस्टम उपयोगिताओं द्वारा किया जाना है" (यानी आईडीईए)। कृपया /unix/312146/what-is-the-purpose-of-usr-libexec देखें

4. Finally, put that new path in the Gradle home input box if IDEA prompts you.

यहां छवि विवरण दर्ज करें

  1. IDEA को अब आपको OK हिट करने की अनुमति देनी चाहिए यहां छवि विवरण दर्ज करें

मेरे लिए कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, मुझे यह मिलता है: कारण: अनुरोधित लक्ष्य के लिए वैध प्रमाणीकरण मार्ग नहीं मिल पा रहा है
स्लैशडॉटिर

@slashdottir यह आपके द्वारा उपयोग किए जा रहे नेटवर्क (यदि काम या विश्वविद्यालय में) के साथ कुछ करने के लिए हो सकता है या आपको IDEA, मशीन को पुनरारंभ करने और एक नए प्रोजेक्ट से पुनर्निर्माण करने की आवश्यकता हो सकती है। Stackoverflow.com/questions/42415666/… देखें , भले ही यह एंड्रॉइड-स्टूडियो है, फिर भी यह उपयोगी हो सकता है। अगर इसमें से कोई मदद करता है तो मुझे बताएं।
मेघिश123

1
अंत में सिर्फ कॉमैंड-लाइन से निर्माण ढाल पर स्विच किया गया - ठीक उसी तरह से काम किया - thx
slashdottir

9

यह केवल मैक के लिए निर्देश है। मुझे भी यही समस्या थी। मैंने इसे कॉन्फ़िगर करके हल $GRADLE_HOMEकिया .bash_profile। यहाँ आप इसे कैसे करते हैं:

  • खोलें .bash_profile(आमतौर पर यह उपयोगकर्ता की होम डायरेक्टरी में स्थित होती है)।
  • $PATHचर अद्यतन करने के लिए निम्न पंक्तियाँ जोड़ें : export GRADLE_HOME=/usr/local/opt/gradle/libexec export PATH=$GRADLE_HOME/bin:$PATH
  • बचाओ।
  • अपने परिवर्तनों को चलाकर लागू करें source .bash_profile

मैंने अपने लेख को एक मामले में निर्देश के साथ लिखा था कि क्या कोई उसी समस्या का सामना करेगा।


आपके उत्तर के लिए धन्यवाद। Gradle4.7 वर्जन के लिए: GRADLE_HOME = / usr / लोकल / सेलर / gradle / 4.7 / libexec एक्सपोर्ट PATH = $ GRADLE_HOME / bin: $ PATH
Piash Sarkar

1
@PiashSarker, मैं देख सकता हूं कि /usr/local/opt/gradle/libexecयह एक सहानुभूति है /usr/local/Cellar/gradle/4.7/libexec । अगर ग्रेडेल वर्जन अपडेट किया जाएगा, तो सिम्लिंक अपने आप अपडेट भी हो जाएगा। यह कहते हुए कि, यह अभी भी उपयोग करने के लिए सुरक्षित है /usr/local/opt/gradle/libexec। कृपया मुझे सुधारें अगर मैं गलत हूं।
स्काईवेट

9

सी:। \ Users \ <_ उपयोगकर्ता नाम> \ Gradle \ आवरण \ dists \ Gradle - <_ संस्करण> निर्माण सभी \ <_ number_random_maybe> \ Gradle - <_ संस्करण>

\ Android स्टूडियो \ gradle ने मेरे लिए काम नहीं किया।

और बिटबकैट से परियोजना को आयात करते (क्लोनिंग) करते समय "डिफ़ॉल्ट ग्रेडर रैपर" कॉन्फ़िगर नहीं किया गया था

यदि यह समस्या का पता लगाने के लिए समस्या का कारण बनता है, तो यहां मेरा रास्ता है:

C: \ Users \ prabs \ .gradle \ आवरण \ dists \ Gradle-5.4.1-सभी \ 3221gyojl5jsh0helicew7rwx \ Gradle-5.4.1


एक पथ पोस्ट करने के लिए बहुत उपयोगी नहीं है जो केवल आपके उपयोगकर्ता नाम और विशेष संस्करण संख्याओं के साथ काम करता है। किसी भी समाधान का प्रस्ताव नहीं करने के लिए भी सहायक नहीं है।
मार्कहु

6

एक मैक पर यह आदर्श रूप में होना चाहिए: /Applications/Android Studio.app/Contents/gradle/gradle-2.14.1

(नवीनतम के साथ संस्करण स्ट्रिंग बदलें)


7
@ रुचिरबोरिया केवल तभी जब आप एंड्रॉइड स्टूडियो का उपयोग कर रहे हों
hitch.united

यह एक जवाब नहीं है। यह "आदर्श रूप में" क्या होना चाहिए, इसका उत्तर देने की आवश्यकता नहीं है।
wyde19

जाहिर है कि ग्रैडल का संस्करण वर्षों से जारी रहेगा। यह देखने के लिए कोशिश करें कि आपके पास वर्तमान में क्या है:ls -d "/Applications/Android Studio.app/Contents/gradle"/*
MarkHu

3

AFAIK यह GRADLE_HOME नहीं GRADLE_USER_HOME है (देखें ग्रेडेशन स्थापना http://www.gradle.org/installation )।

दूसरी ओर मैंने आइडिया 13 कार्डिया में ग्रैडल सपोर्ट के साथ थोड़ा सा खेला और मुझे लगता है कि आइडल घर में आइडिया द्वारा स्वचालित रूप से खोज नहीं है। यदि ऐसा है तो आप एक समस्या दर्ज कर सकते हैं।

इसके अलावा, अगर आप 1.6+ ग्रेडल का उपयोग करते हैं तो आप बिल्ड और रैपर सेट करने के लिए ग्रैडल सपोर्ट का उपयोग कर सकते हैं। मुझे लगता है कि विचार स्वचालित रूप से रैपर आधारित ग्रेडल प्रोजेक्ट की खोज करता है।

$ gradle setupBuild --type जावा-लाइब्रेरी

$ ग्रेपल आवरण

नोट: समर्थित पुस्तकालय प्रकार: बुनियादी, मावेन, जावा

सादर



2

मुझे ग्रेडेल पथ का चयन करने से पहले प्रोजेक्ट एसडीके को सेटअप करना पड़ा। एक बार जब यह सही ढंग से सेट हो गया था, तो मुझे "ग्रैडल से आयात परियोजना" संवाद में "डिफ़ॉल्ट ग्रेडल रैपर (अनुशंसित) का उपयोग करें" चुनना था।

अभी भी काम करता है अगर मैं काढ़ा का उपयोग कर हटा दें:

$ brew remove gradle

यहां छवि विवरण दर्ज करें


2

यह वह जगह है जहाँ मेरा ग्रेडेल होम है (आर्क लिनक्स):

/usr/share/java/gradle/

1

मेरे पास कुछ अजीब त्रुटियां थीं, जहां यह मेरी कक्षा को नहीं मिला, मुझे अपने src फोल्डर पर लाल क्लिक करना था (लाल था) "निर्देशिका के रूप में करें" -> स्रोत फ़ोल्डर रूट


0

मौजूदा स्रोतों से नया -> प्रोजेक्ट पर क्लिक करें -> आयात ग्रेड प्रोजेक्ट ...

फिर आइडिया ने स्वचालित रूप से ग्रेडेल को पहचान लिया।


0

जब तक मैंने एक टूटी हुई JDK को नहीं हटाया तब तक मैं अपने स्नातक JVM चयन को स्वीकार नहीं कर सका

Th विंडो नीचे फ़ाइल से है -> अन्य सेटिंग्स -> नई परियोजनाओं के लिए संरचना ...

ग्रेड जेवीएम यानी जेडीके घर का रास्ता

मेरे पास एक लाल 1.8 JDK SDK प्रविष्टि थी, एक बार जब मैंने हटा दिया कि ग्रेडल JVM त्रुटि गायब हो गई है और मैं अगले चरण पर जा सकता हूं

ग्रेड JVM त्रुटि


-1

यदि आप मैक का उपयोग कर रहे हैं, तो /usr/local/gradle-2.0उदाहरण के लिए , संभवतः आपका ग्रेडल होम होना चाहिए ।

आईडीईए की प्राथमिकता में ग्रेडेल और सेट अपडेल होम की खोज करें जैसा कि ऊपर दिया गया है। यह काम करना चाहिए

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