Jak zdefiniować dom Gradle'a w IDEA?

390

Próbuję zaimportować projekt Gradle do IntelliJ, a kiedy przejdę do pola Gradle Hometekstowego, nie jest ono automatycznie wypełniane, ani nie wpisuję ścieżki Gradle Homewyniku w prawidłowej lokalizacji - mam GRADLE_USER_HOMEustawioną zmienną środowiskową (według mnie jest to !) poprawna ścieżka i udało mi się pomyślnie zaimportować ten sam projekt do Eclipse. Jakieś sugestie?

użytkownik2699970
źródło
Tak, dyskusja na stronie JetBrains wydaje się wskazywać na problem z dowiązaniami symbolicznymi - patrz odpowiedź Denisa.Zhdanov tutaj: blog.jetbrains.com/idea/2013/04/gradle-improvements-at-121
josh-cain
1
Dobre pytanie. Czy chcesz wybrać prawidłową odpowiedź na to pytanie? Nie idź za punktami - sugerowałbym @ trenton's. Możesz również wspomnieć o systemie operacyjnym, o który chodziło w pytaniu.
akauppi
1
Jeśli wybierzesz „Użyj domyślnego opakowania stopni (zalecane)”, nie musisz ustawiać Gradle Home. Niestety, nie wyszarzają pola wprowadzania - wskazują jedynie, że jest on wyłączony przez rodzaj kursora, który masz po najechaniu myszką.
Andrew Grimm,

Odpowiedzi:

479

Możesz napisać prosty skrypt oceniania, aby wydrukować swój GRADLE_HOMEkatalog.

task getHomeDir {
    doLast {
        println gradle.gradleHomeDir
    }
}

i nazwij to build.gradle.

Następnie uruchom go z:

gradle getHomeDir

Jeśli zainstalowałeś z Homebrew, użyj, brew info gradleaby znaleźć ścieżkę bazową (tj. /usr/local/Cellar/gradle/1.10/) I po prostu dołącz libexec.

To samo zadanie w Kotlin, jeśli używasz build.gradle.kts:

tasks.register("getHomeDir") {
    println("Gradle home dir: ${gradle.gradleHomeDir}")
}
Granice zdrowia
źródło
10
Dla tych na Linux Mint / Ubuntu, /usr/share/gradlejest wyjście tego skryptu stopniowego.
Arthur
3
@ Steve Chętnie Ci pomoże. Dzisiaj sam byłem beneficjentem. twitter.com/TrentonL/status/729546995686248448
Trenton
3
To działało dla mnie, ale jest takie głupie. Użyłem Gradle's SDK Manager do zainstalowania Gradle. Dlaczego IntelliJ nie może tego użyć?
AutonomousApps
W Fedorze 25 jest to również / usr / share / gradle.
Uri Simchoni
2
W przypadku Arch Linux jest to:/usr/share/java/gradle
SirWojtek
273

Zainstalowany na komputerze Mac przez Homebrew, ścieżka

/usr/local/opt/gradle/libexec

jest lepszy niż

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

ponieważ poprzednie przetrwają aktualizacje wersji.

Trenton
źródło
Dotyczy to również Android Studio (przynajmniej AS AS 1.3).
James
Fajnie, skończyło się na tym, że użyłem tej bestii do ustawienia GRADLE_HOME (aby zapobiec problemom przy uaktualnianiu klasy za pomocą naparu) export GRADLE_HOME=`python -c "import os; print(os.path.realpath('$(which gradle)'))" | xargs dirname | xargs dirname | xargs printf "%s/libexec"` Jeśli ktoś może uprościć, to też by się przydało :)
mlo55
2
@ mlo55 znacznie łatwiejszy w użyciuexport GRADLE_HOME=$(realpath $(brew --prefix gradle))/libexec
delitescere
@ mlo55 dlaczego zrobiłeś to w pythonie zamiast tylko wywoływać which gradlepowłokę?
Mike Young,
@MikeYoung, nie miałem wtedy zainstalowanej RealPath. Uwaga: Używam teraz export GRADLE_HOME="$(brew --prefix gradle)/libexec/"zgodnie z zaleceniami @delitescene. Porównaj ls "$(brew --prefix gradle)/libexec/"z ls "$(which gradle)/libexec/"na osx, jeśli używasz naparu.
mlo55
93

Jeśli zainstalowałeś gradle z Homebrew, ścieżka jest następująca:

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

Gdzie XX to wersja klasy (obecnie 2.1)

HasanAboShally
źródło
46

Jeśli używasz IntelliJ, po prostu wykonaj następujące czynności.

  1. Zamknij projekt
  2. (ponownie) Otwórz projekt
  3. zobaczysz komunikat „Importuj projekt stopni” w prawym dolnym rogu. Kliknij.
  4. wybierz „Użyj domyślnego opakowania stopni”. nie „Użyj lokalnej dystrybucji ocen”

wprowadź opis zdjęcia tutaj

To wszystko.

Anderson
źródło
Jeśli wybierzesz „Użyj domyślnego opakowania stopni”, to nie jest konieczne dostarczanie Gradle do domu?
Andrew Grimm,
Odpowiedź: Tak Obwiniaj to za złe UX, którego wcześniej nie zauważyłem.
Andrew Grimm,
1
"Use gradle 'wrapper' task configuration"pracował dla mnie - idk co to znaczy myśl
scottysseus
1
Jeśli chcesz, aby IDEA zdefiniowała dla ciebie twoją wersję gradla na podstawie skryptu kompilacji, wybierz „Użyj konfiguracji zadania otoki”
Cloudish123,
@AndrewGrimm W moim przypadku ten przycisk opcji jest wyłączony. Więc nie mogę tego wybrać. Jakieś pomysły?
Mikheil Zhghenti
42

To pomogło mi rozwiązać problem braku zestawu domowego Gradle dla IDEA podczas importowania projektu Gradle.

TRZY OPCJE - (A) Domyślna konfiguracja owijarki (B) „gradle 'wrapper” LUB LUB (C) „lokalna dystrybucja stopni” zdefiniowana przez jetbrains: https://www.jetbrains.com/help/idea/gradle-settings .html

A. Domyślne opakowanie (zalecane)

Jeśli możesz, wybierz tę zalecaną opcję. Jeśli jest wyszarzony, patrz opcja C, która powinna następnie ustawić domyślną wartość dla wszystkich kolejnych projektów.

B. Konfiguracja zadania Gradle „Wrapper”

Jeśli chcesz, aby IDEA zdefiniowała dla ciebie twoją wersję stopniową ze skryptu kompilacji

  1. Ustaw tę opcję, jeśli zdefiniujesz wersje kompilacji stopni jako zadanie w ramach faktycznej kompilacji stopni.

Przykład poniżej z jetbrains: https://www.jetbrains.com/help/idea/gradle-settings.html

wprowadź opis zdjęcia tutaj

(przydatne, jeśli nie chcesz udostępniać stopniowych wersji między projektami)

C. Lokalna dystrybucja stopniowa

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

Wynika to z faktu, że „libexec ma być używany przez inne demony i narzędzia systemowe wykonywane przez inne programy” (tj. IDEA). Proszę zobaczyć /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.

wprowadź opis zdjęcia tutaj

  1. IDEA powinna teraz pozwolić ci na trafienie OK wprowadź opis zdjęcia tutaj
Cloudish123
źródło
Dla mnie bez względu na to, co robię, dostaję: Przyczyna: nie mogę znaleźć ważnej ścieżki certyfikacji do żądanego celu
slashdottir
@ slashdottir może mieć coś wspólnego z siecią, z której korzystasz (w pracy lub na uniwersytecie), lub może być konieczne zamknięcie IDEA, ponowne uruchomienie komputera i przebudowa z nowego projektu. Zobacz stackoverflow.com/questions/42415666/... , mimo że jest to studio Android, może być nadal przydatne. Daj mi znać, jeśli coś z tego pomoże.
Cloudish123
1
W końcu właśnie przeszedłem na klasę budynku z linii poleceń - wszystko poszło dobrze - dzięki
slashdottir
9

To jest instrukcja tylko dla MAC. Miałem ten sam problem. Rozwiązałem go poprzez skonfigurowanie $GRADLE_HOMEw .bash_profile. Oto jak to zrobić:

  • Otwórz .bash_profile(zwykle znajduje się w katalogu osobistym użytkownika).
  • Dodaj następujące wiersze, aby zaktualizować $PATHzmienną: export GRADLE_HOME=/usr/local/opt/gradle/libexec export PATH=$GRADLE_HOME/bin:$PATH
  • Zapisz to.
  • Zastosuj zmiany, uruchamiając source .bash_profile

Napisałem własny artykuł z instrukcją na wypadek, gdyby ktoś napotkał ten sam problem.

skryvets
źródło
Dzięki za odpowiedź. Dla wersji gradle 4.7: eksport GRADLE_HOME = / usr / local / Cellar / gradle / 4.7 / libexec PATH = $ GRADLE_HOME / bin: $ PATH
Piash Sarker
1
@PiashSarker, widzę, że /usr/local/opt/gradle/libexecjest to dowiązanie symboliczne do /usr/local/Cellar/gradle/4.7/libexec . Jeśli wersja stopniowa zostanie zaktualizowana, dowiązanie symboliczne również zostanie automatycznie zaktualizowane. Mówiąc to, nadal jest bezpieczniejszy w użyciu /usr/local/opt/gradle/libexec. Proszę popraw mnie jeżeli się mylę.
skryvets
9

C: \ Users \ <nazwa użytkownika> \ .gradle \ wrapper \ dists \ gradle- <_wersja> -all \ <_numer_typu_kluczowego> \ gradle- <wersja>

\ Android studio \ gradle nie działało dla mnie.

I „Domyślne opakowanie stopni” nie zostało skonfigurowane podczas importowania (klonowania) projektu z bitbucket

Jeśli powoduje to problem ze znalezieniem ścieżki, oto moja ścieżka:

C: \ Users \ prabs \ .gradle \ wrapper \ dists \ gradle-5.4.1-all \ 3221gyojl5jsh0helicew7rwx \ gradle-5.4.1

Kraby
źródło
Niezbyt pomocne jest opublikowanie ścieżki, która działa tylko z nazwą użytkownika i konkretnymi numerami wersji. Nie jest również pomocne, aby nie proponować żadnego rozwiązania.
MarkHu
6

Na Macu najlepiej byłoby, gdy: /Applications/Android Studio.app/Contents/gradle/gradle-2.14.1

(Zamień ciąg wersji na najnowszy)

AnupamChugh
źródło
7
@RuchirBaronia Tylko jeśli korzystasz z Android Studio
hitch.united
To wcale nie jest odpowiedź. To, co powinno być „idealnie”, nie jest tym, na co należy odpowiedzieć.
wyde19
Oczywiście wersja Gradle będzie rosła z biegiem lat. Spróbuj tego, aby zobaczyć, co obecnie masz:ls -d "/Applications/Android Studio.app/Contents/gradle"/*
MarkHu
3

AFAIK to GRADLE_HOME, a nie GRADLE_USER_HOME (patrz stopniowa instalacja http://www.gradle.org/installation ).

Z drugiej strony grałem trochę ze wsparciem Gradle w Idea 13 Cardea i myślę, że dom Gradle nie jest automatycznie odkrywany przez Idea. Jeśli tak, możesz zgłosić problem na swoim torze.

Ponadto, jeśli używasz klasy 1.6+, możesz użyć obsługi Graldle do ustawiania kompilacji i otoki. Myślę, że pomysł automatycznie odkrywa projekt stopnia oparty na opakowaniu.

$ gradle setupBuild --type java-library

owijarka do stopniowania

Uwaga: Obsługiwane typy bibliotek: podstawowe, maven, java

pozdrowienia

jtonic
źródło
3

Jeśli używasz MacPorts, ścieżka jest

/opt/local/share/java/gradle
Daniel Scott
źródło
2

Musiałem skonfigurować SDK projektu przed wybraniem ścieżki stopni. Po prawidłowym ustawieniu musiałem wybrać opcję „Użyj domyślnego opakowania stopni (zalecane) w oknie dialogowym„ Importuj projekt z poziomu ”.

Nadal działa, jeśli usunę grad za pomocą naparu:

$ brew remove gradle

wprowadź opis zdjęcia tutaj

użytkownik674669
źródło
2

Oto mój dom klasy (Arch Linux):

/usr/share/java/gradle/
VBorisoff
źródło
1

Miałem kilka dziwnych błędów, w których nie można było znaleźć mojej klasy, musiałem kliknąć prawym przyciskiem myszy folder src (był czerwony), aby „Utwórz katalog jako” -> Katalog źródłowy

Burf2000
źródło
0

Kliknij Nowy -> Projekt z istniejących źródeł -> Importuj projekt stopnia ...

Następnie Idea automatycznie rozpoznaje ocenę.

Martin Pfeffer
źródło
0

Nie mogłem zmusić go do zaakceptowania mojego wyboru Gradle JVM, dopóki nie usunąłem uszkodzonego JDK

Poniższe okno znajduje się w menu Plik -> Inne ustawienia -> Struktura nowych projektów ...

Gradle JVM, tj. Ścieżka domowa JDK

Miałem tutaj czerwony wpis 1.8 JDK SDK, po usunięciu tego błędu Gradle JVM zniknął i mogłem przejść do następnego kroku

Błąd Gradient JVM

Kevin
źródło
-1

Jeśli używasz komputera Mac, najprawdopodobniej powinna to być Twoja domowa klasa /usr/local/gradle-2.0 na przykład .

Zamiast preferencji IDEA wyszukaj stopień i ustaw stopień domu, jak podano powyżej. To powinno działać

Baran
źródło