Gradle'ın evi IDEA'da nasıl tanımlanır?


390

Bir Gradle projesini IntelliJ'e aktarmaya çalışıyorum ve Gradle Homemetin kutusuna ulaştığımda , otomatik olarak doldurulmuyor, ne de Gradle Homegeçerli bir konumda sonuç yoluna yazılmıyor - GRADLE_USER_HOMEortam değişkeni ayarlıyorum (bence !) doğru yolu seçtim ve aynı projeyi Eclipse'e başarıyla aktarabildim. Herhangi bir öneri?


Evet, JetBrains sitesindeki tartışma, sembollerle ilgili bir sorun olduğunu gösteriyor - Denis.Zhdanov'un cevabına buradan bakın: blog.jetbrains.com/idea/2013/04/gradle-improvements-at-121
josh-cain

1
İyi soru. Bunun için geçerli bir cevap seçmek ister misiniz? Puanları aşma - Ben @ trenton'ın öneririm. Bu sorunun söz konusu olduğu işletim sisteminden de bahsetmek isteyebilirsiniz.
akauppi

1
"Varsayılan kepçe sarmalayıcısını kullan (önerilen)" seçeneğini belirlerseniz, Gradle Home ayarını yapmanız gerekmez. Ne yazık ki, bunun için giriş kutusunu grileştirmezler - sadece farenin üzerine geldiğinizde sahip olduğunuz imleç türüyle devre dışı bırakıldığını gösterirler.
Andrew Grimm

Yanıtlar:


479

Dizininizi yazdırmak için basit bir not dosyası yazabilirsiniz GRADLE_HOME.

task getHomeDir {
    doLast {
        println gradle.gradleHomeDir
    }
}

ve adlandırın build.gradle.

Sonra ile çalıştırın:

gradle getHomeDir

Homebrew ile yüklediyseniz brew info gradle, taban yolunu (yani /usr/local/Cellar/gradle/1.10/) bulmak için kullanın ve ekleyin libexec.

Kotlin'de aynı görevi kullanmanız durumunda build.gradle.kts:

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

10
Linux Mint / Ubuntu için olanlar, /usr/share/gradlebu gradle betiğinin çıktısıdır.
Arthur

3
@Steve Yardım etmekten mutluluk duyarız. Bu gece kendim bir faydalanıcıydım. twitter.com/TrentonL/status/729546995686248448
Trenton

3
Bu benim için çalıştı, ama çok aptalca. Gradle'ı yüklemek için Gradle'ın SDK Yöneticisini kullandım. IntelliJ neden bunu kullanamıyor?
AutonomousApps

Fedora 25'te bu da / usr / share / gradle.
Uri Simchoni

2
Arch Linux için:/usr/share/java/gradle
SirWojtek

273

Bir Mac'e Homebrew aracılığıyla yüklenen yol

/usr/local/opt/gradle/libexec

tercih edilir

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

çünkü eski sürüm yükseltmeleri hayatta kalacak.


Bu aynı zamanda Android Studio için de geçerlidir (yine de AS 1.3'ten itibaren).
James

Güzel bir, ben GRADLE_HOME (demlemek ile kepçe yükseltirken sorunları önlemek için) ayarlamak için bu canavar kullanarak sona erdi export GRADLE_HOME=`python -c "import os; print(os.path.realpath('$(which gradle)'))" | xargs dirname | xargs dirname | xargs printf "%s/libexec"` Herkes basitleştirmek, bu da kullanışlı olurdu :)
mlo55

2
@ mlo55 kullanımı çok daha kolayexport GRADLE_HOME=$(realpath $(brew --prefix gradle))/libexec
delitescere

@ mlo55 bunu neden sadece which gradlekabukta çağırmak yerine python'da yaptınız ?
Mike Young

@MikeYoung, o zaman yüklü yüklü yol yok. nb: Artık export GRADLE_HOME="$(brew --prefix gradle)/libexec/"@delitescene tarafından önerildiği gibi kullanıyorum. Demlemek kullanarak ur osx ls "$(brew --prefix gradle)/libexec/"ile karşılaştırın ls "$(which gradle)/libexec/".
mlo55

93

Graeb'i homebrew ile kurduysanız, yol:

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

XX, sınıfın sürümüdür (şu anda 2.1)


46

IntelliJ kullanıyorsanız, aşağıdakileri yapmanız yeterlidir.

  1. Projeyi kapat
  2. (yeniden) Projeyi aç
  3. sağ altta "Gradle projesini içe aktar" mesajını göreceksiniz. Tıklayın.
  4. "Varsayılan kepçe sarıcısını kullan" seçeneğini seçin. "Yerel sınıflandırma dağıtımı kullan"

resim açıklamasını buraya girin

Bu kadar.


"Varsayılan kepçe sarıcısını kullan" seçeneğini belirlerseniz, Kepçe evde beslemek gerekmez mi?
Andrew Grimm

Cevap: Evet. Daha önce fark etmediğim kötü UX'i suçla.
Andrew Grimm

1
"Use gradle 'wrapper' task configuration"benim için çalıştı - ne düşündüğünü idk
scottysseus

1
IDEA'nın sürüm sürümünüzü sizin için gerçek derleme komut dosyanızdan tanımlamasını istiyorsanız, "Sürüm 'sarmalayıcı' görev yapılandırmasını kullan" seçeneğini belirleyin
Cloudish123

@AndrewGrimm Benim durumumda bu radyo düğmesi devre dışı. Bu yüzden seçemiyorum. Herhangi bir fikir?
Mikheil Zhghenti

42

Gradle projesini içe aktarırken Gradle'ı IDEA için eve getirmeme problemini çözmeme yardımcı olan da bu oldu.

ÜÇ SEÇENEKLER - (A) Varsayılan Sarıcı (B) "sınıf 'sarıcı' görev yapılandırması" VEYA (C) "yerel sınıf dağılımı" jetbrains tarafından tanımlanmıştır: https://www.jetbrains.com/help/idea/gradle-settings .html

Varsayılan Sarmalayıcı (önerilir)

Yapabiliyorsanız, bu önerilen seçeneği belirtin. Gri renkteyse, sonraki tüm projeler için varsayılanınızı ayarlaması gereken C seçeneğine bakın.

Gradle 'Wrapper' Görev Yapılandırması

IDEA'nın sürüm betiğinizi derleme betiğinizden sizin için tanımlamasını istiyorsanız

  1. Gradle derleme sürümlerinizi gerçek gradle derlemenizdeki bir görev olarak tanımlarsanız bu seçeneği ayarlayın.

Jetbrains'den aşağıdaki örnek: https://www.jetbrains.com/help/idea/gradle-settings.html

resim açıklamasını buraya girin

(gradle yapılarını projeler arasında paylaşmak istemiyorsanız yararlıdır)

C. Yerel Gradle Dağılımı

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

Bunun nedeni "libexec'in diğer programlar tarafından yürütülen diğer artalan süreçleri ve sistem yardımcı programları tarafından kullanılmasıdır (yani IDEA). Lütfen /unix/312146/what-is-the-purpose-of-usr-libexec adresine bakın.

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

resim açıklamasını buraya girin

  1. IDEA artık OK'a basmanıza izin vermeliydi resim açıklamasını buraya girin

Benim için ne yaparsam yapayım: Neden: istenen hedefe geçerli sertifika yolu bulamıyorum
slashdottir

@slashdottir kullandığınız ağla (işte veya Üniversitede) bir ilgisi olabilir veya IDEA'yı kapatmanız, makineyi yeniden başlatmanız ve yeni bir projeden yeniden oluşturmanız gerekebilir. Bkz. Stackoverflow.com/questions/42415666/… , Android-studio olmasına rağmen yine de yararlı olabilir. Bunlardan herhangi birinin yardımcı olup olmadığını bana bildirin.
Cloudish123

1
Nihayet sadece comand-line'den kepçe inşa etmeye geçti - bu şekilde iyi çalıştı - thx
slashdottir

9

Bu yalnızca MAC için talimattır. Ben de aynı problemi yaşadım. Ben yapılandırarak onu çözdüm $GRADLE_HOMEiçinde .bash_profile. Bunu nasıl yapacağınız aşağıda açıklanmıştır:

  • Açık .bash_profile(genellikle kullanıcının ana dizininde bulunur).
  • $PATHDeğişkeni güncellemek için aşağıdaki satırları ekleyin : export GRADLE_HOME=/usr/local/opt/gradle/libexec export PATH=$GRADLE_HOME/bin:$PATH
  • Kaydet.
  • Değişikliklerinizi çalıştırarak uygulayın source .bash_profile

Birisi aynı problemle karşılaşırsa, bir vakada talimatla kendi makalemi yazdım .


Cevabınız için teşekkürler. Gradle4.7 sürümü için: export GRADLE_HOME = / usr / local / Cellar / gradle / 4.7 / libexec export PATH = $ GRADLE_HOME / bin: $ PATH
Piash Sarker

1
@PiashSarker, /usr/local/opt/gradle/libexecbunun bir sembolik bağlantı olduğunu görebiliyorum /usr/local/Cellar/gradle/4.7/libexec . Sınıf sürümü güncellenecekse, symlink de otomatik olarak güncellenecektir. Bunu söyleyerek, kullanımı hala daha güvenlidir /usr/local/opt/gradle/libexec. Yanılıyorsam lütfen beni düzeltin.
skryvets

9

C:. \ Users \ <_ kullanıcı adı> \ gradle \ sarıcı \ dists \ gradle - <_ sürüm> -tüm \ <_ number_random_maybe> \ gradle - <_ sürüm>

\ Android studio \ gradle benim için çalışmadı.

Projeyi bitbucket'ten alırken (klonlarken) "Varsayılan sınıflayıcı sarıcı" yapılandırılmadı

Yolu bulmakta sorun çıkarsa, işte yolum:

C: \ Kullanıcılar \ prabs \ .gradle \ sargı \ dists \ gradle-5.4.1-Tüm \ 3221gyojl5jsh0helicew7rwx \ gradle-5.4.1


Yalnızca kullanıcı adınız ve belirli sürüm numaralarınızla çalışan bir yol yayınlamak çok yararlı değildir. Ayrıca herhangi bir çözüm önermek için yararlı değildir.
MarkHu

6

Bir Mac'te ideal olarak şu konumda olmalıdır: /Applications/Android Studio.app/Contents/gradle/gradle-2.14.1

(Sürüm dizesini en son sürümle değiştirin)


7
@RuchirBaronia Yalnızca Android Studio kullanıyorsanız
hitch.united

Bu bir cevap değil. "İdeal olarak" olması gereken, cevaplanması gereken şey değildir.
wyde19

Açıkçası Gradle'ın versiyonu yıllar boyunca yükselmeye devam edecek. Şu anda sahip olduklarınızı görmek için bunu deneyin:ls -d "/Applications/Android Studio.app/Contents/gradle"/*
MarkHu

3

AFAIK GRADLE_HOME değil GRADLE_USER_HOME değil (bkz. Sınıf kurulum http://www.gradle.org/installation ).

Öte yandan Idea 13 Cardea'da Gradle desteği ile biraz oynadım ve sanırım gradle evi Idea tarafından otomatik olarak keşfedilmedi. Eğer öyleyse, youtrack'ta bir sorun oluşturabilirsiniz.

Ayrıca, 1.6+ sınıfını kullanıyorsanız, derleme ve sarmalayıcıyı ayarlamak için Graldle desteğini kullanabilirsiniz. Fikir, sarıcı tabanlı gradle projesini otomatik olarak keşfediyor.

$ gradle setupBuild - tip java-kütüphane

$ gradle sarıcı

Not: Desteklenen kütüphane türleri: temel, maven, java

Saygılarımızla



2

Gradle yolunu seçmeden önce Project SDK'sını kurmam gerekiyordu. Bu doğru bir şekilde ayarlandıktan sonra, "Projeyi Sınıftan İçe Aktar" iletişim kutusunda "Varsayılan sınıflayıcı sarıcı kullan (önerilen) 'i seçmek zorundaydım.

Demleme kullanarak demeti kaldırırsam hala çalışır:

$ brew remove gradle

resim açıklamasını buraya girin



1

Sınıfımı bulamadığım bazı garip hatalar yaşadım, "Dizin Yap" -> Kaynak Klasör Kökü için src klasörüne (kırmızı) sağ tıklamak zorunda kaldım


0

Yeni -> Mevcut kaynaklardan proje -> Sınıflandırma projesini içe aktar ... seçeneğini tıklayın.

Sonra Fikir otomatik olarak gradle tanıdı.


0

Bozuk bir JDK'yı silene kadar Gradle JVM seçimimi kabul edemedim

Aşağıdaki pencere Dosya -> Diğer Ayarlar -> Yeni Projeler İçin Yapı ...

Gradle JVM yani JDK giriş yolu

Burada kırmızı 1.8 JDK SDK girdim vardı, aşağıdaki Gradle JVM hatasını sildikten sonra kayboldum ve bir sonraki adıma geçebilirim

Gradle JVM hatası


-1

Mac kullanıyorsanız, büyük olasılıkla eviniz /usr/local/gradle-2.0 örneğin .

IDEA tercihinde gradle arayın ve gradle'ı yukarıda verildiği gibi ayarlayın. İşe yaramalı

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.