Як визначити будинок Gradle в IDEA?


390

Я намагаюся імпортувати проект Gradle в IntelliJ, і коли я дістаюсь до Gradle Homeтекстового поля, він не автоматично заповнюється, і не набиратимуть шлях Gradle Homeрезультату у дійсному місці - у мене встановлена GRADLE_USER_HOMEзмінна середовище (до того, на що я думаю, що це !) правильний шлях, і я зміг успішно імпортувати цей самий проект у Eclipse. Будь-які пропозиції?


Так, дискусія на сайті JetBrains, схоже, вказує, що це проблема із посиланнями - див. Відповідь Дениса Жданова тут: blog.jetbrains.com/idea/2013/04/gradle-improvements-at-121
josh-cain

1
Хороше питання. Ви хочете вибрати для цього правильну відповідь. Не йдіть по пунктах - я б запропонував @ trenton's. Ви також можете згадати ОС, про яку мова йшла у питанні.
akauppi

1
Якщо ви вибрали "Використовувати обгортку Gradle за замовчуванням (рекомендується)", вам не потрібно встановлювати Gradle Home. На жаль, вони не затьмарюють поле введення для цього - вони просто вказують, що він відключений за типом курсору, який ви маєте, коли клацніть мишкою на ньому.
Ендрю Грімм

Відповіді:


479

Ви можете написати простий скрипт gradle для друку GRADLE_HOMEкаталогу.

task getHomeDir {
    doLast {
        println gradle.gradleHomeDir
    }
}

і назвіть його build.gradle.

Потім запустіть його:

gradle getHomeDir

Якщо ви встановили програму homebrew, використовуйте brew info gradleдля пошуку базового шляху (тобто /usr/local/Cellar/gradle/1.10/) та просто додайте libexec.

Те саме завдання в Котліні, якщо ви використовуєте build.gradle.kts:

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

10
Для тих, хто на Linux Mint / Ubuntu, тоді /usr/share/gradleє вихід цього сценарію gradle.
Артур

3
@Steve Раді допомогти. Сьогодні вночі я сам був бенефіціаром. twitter.com/TrentonL/status/729546995686248448
Трентон

3
Це працювало для мене, але це так нерозумно. Я використовував диспетчер SDK Gradle для встановлення Gradle. Чому IntelliJ не може це використати?
AutonomousApps

У Fedora 25 це також / usr / share / gradle.
Урі Сімчоні

2
Для Arch Linux це:/usr/share/java/gradle
SirWojtek

273

Встановлено на Mac через Homebrew, шлях

/usr/local/opt/gradle/libexec

є кращим

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

оскільки перша версія переживе оновлення версій.


Це також стосується Android Studio (як і у випадку з 1.3 1.3).
Джеймс

Приємно, я в кінцевому підсумку скористався цим звіром, щоб встановити свій GRADLE_HOME (щоб запобігти проблемам при модернізації gradle з варінням) 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, чому ти це робив у python, а не просто викликав which gradleоболонку?
Майк Янг

@MikeYoung, у мене тоді не встановлено realpath. nb: Зараз я використовую, export GRADLE_HOME="$(brew --prefix gradle)/libexec/"як рекомендує @delitescene. Порівняйте ls "$(brew --prefix gradle)/libexec/"з ls "$(which gradle)/libexec/"osx, якщо ур використовує варити.
mlo55

93

Якщо ви встановили gradle з домашньою мовою, то шлях:

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

Де XX - версія gradle (на даний момент 2.1)


46

Якщо ви використовуєте IntelliJ, просто виконайте наступне.

  1. Закрийте проект
  2. (re) Відкрийте проект
  3. у правій нижній частині ви побачите повідомлення "Імпортувати проект Gradle". клацніть.
  4. виберіть "Використовувати обгортку gradle за замовчуванням". не "Використовувати локальний розподіл градулей"

введіть тут опис зображення

Це все.


Якщо ви вибрали "Використовувати обгортку Gradle за замовчуванням", чи не потрібно постачати Gradle додому?
Ендрю Грімм

Відповідь: Так. Звинувачуйте це в поганому UX, якого я раніше не помічав.
Ендрю Грімм

1
"Use gradle 'wrapper' task configuration"працював на мене - idk, що це означає думка
Scottysseus

1
Якщо ви хочете, щоб IDEA визначила для вас свою версію gradle зі свого фактичного сценарію збірки, тоді ви вибираєте "Використовувати конфігурацію завдання gradle 'обгортки"
Cloudish123

@AndrewGrimm У моєму випадку ця перемикач вимкнена. Тож я не можу його вибрати. Будь-які ідеї?
Міхеіл Жхенті

42

Саме це допомогло мені вирішити проблему відсутності дому Gradle для IDEA під час імпорту проекту Gradle.

ТРИ ВАРІАНТИ - (A) Замовчувач Wrapper (B) "gradle 'обгортка" Конфігурація завдання "АБО (C)" Місцевий розподіл gradle ", визначений jetbrains: https://www.jetbrains.com/help/idea/gradle-settings .html

A. Обгортка за замовчуванням (рекомендується)

Якщо ви в змозі, виберіть цей рекомендований варіант. Якщо його немає в сірому кольорі, див. Опцію C, яка повинна встановити за замовчуванням всі наступні проекти.

B. Конфігурація завдань Gradle 'Wrapper'

Якщо ви хочете, щоб IDEA визначила вашу версію gradle для вас зі свого сценарію складання

  1. Встановіть цей параметр, якщо ви визначаєте версії збірки gradle як завдання в межах фактичної збірки gradle.

Приклад нижче з jetbrains: https://www.jetbrains.com/help/idea/gradle-settings.html

введіть тут опис зображення

(корисно, якщо ви не хочете ділитися gradle builds між проектами)

C. Місцевий розподіл Gradle

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

Це тому, що "libexec має використовуватися іншими демонами та системними утилітами, виконаними іншими програмами" (тобто IDEA). Перегляньте /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 повинен був дозволити вам натиснути ОК введіть тут опис зображення

Для мене незалежно від того, що я роблю, я отримую: Причина: не вдалося знайти дійсний шлях сертифікації до потрібної цілі
slashdottir

@slashdottir це може мати щось спільне з мережею, яку ви використовуєте (якщо на роботі чи в університеті), або вам може знадобитися закрити IDEA, перезапустити машину та відновити новий проект. Дивіться stackoverflow.com/questions/42415666/… , хоча це Android-студія, воно все ще може бути корисним. Повідомте мене, чи допоможе щось із цього.
Cloudish123

1
Нарешті просто перейшов на будівництво gradle з командної лінії - відпрацьовано нормально таким чином - thx
slashdottir

9

Це інструкція лише для MAC. У мене була така ж проблема. Я вирішив це, налаштувавши $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 / local / Підвал / gradle / 4.7 / libexec експортувати PATH = $ GRADLE_HOME / bin: $ PATH
Piash Sarker

1
@PiashSarker, я можу бачити, що /usr/local/opt/gradle/libexecце символьне посилання на /usr/local/Cellar/gradle/4.7/libexec . Якщо версія Gradle буде оновлена, символьне посилання також буде оновлено автоматично. Сказавши це, все-таки безпечніше використовувати /usr/local/opt/gradle/libexec. Будь ласка, виправте мене, якщо я помиляюся.
скривець

9

C: \ Користувачі \ <_користувач> \ .gradle \ обгортка \ dists \ gradle- <_version> -all \ <_bumber_random_maybe> \ gradle- <_version>

\ Android студія \ gradle не працювала для мене.

І "Обгортка gradle за замовчуванням" не була налаштована під час імпорту (клонування) проекту з бітбукета

Якщо це викликає проблему, щоб з'ясувати шлях, ось мій шлях:

C: \ Користувачі \ prabs \ .gradle \ wrapper \ dists \ gradle-5.4.1-all \ 3221gyojl5jsh0helicew7rwx \ gradle-5.4.1


Не дуже корисно розміщувати шлях, який працює лише з вашим ім'ям користувача та певними номерами версій. Також не корисно не пропонувати жодного рішення.
MarkHu

6

В ідеалі він повинен бути за адресою: /Applications/Android Studio.app/Contents/gradle/gradle-2.14.1

(Замініть рядок версії на останню)


7
@RuchirBaronia Тільки якщо ви використовуєте Android Studio
hitch.united

Це зовсім не відповідь. Що має бути "в ідеалі" - це не те, на що потрібно відповісти.
wyde19

Очевидно, що версія Gradle буде продовжувати рости протягом багатьох років. Спробуйте це, щоб побачити, що у вас зараз:ls -d "/Applications/Android Studio.app/Contents/gradle"/*
MarkHu

3

AFAIK це GRADLE_HOME, а не GRADLE_USER_HOME (див. Установку gradle http://www.gradle.org/installation ).

З іншого боку, я трохи пограв із підтримкою Gradle в Idea 13 Cardea, і я вважаю, що будинок Gradle ідеально не відкриє. Якщо так, ви можете подати проблему у свій трек.

Крім того, якщо ви використовуєте gradle 1.6+, ви можете використовувати підтримку Graldle для встановлення збірки та обгортки. Я думаю, що ідея автоматично відкриє проект gradle на основі обгортки.

$ gradle setupBuild - тип Java-бібліотеки

$ gradle обгортка

Примітка. Підтримувані типи бібліотек: basic, maven, java

З повагою



2

Мені довелося налаштувати проект SDK перед тим, як вибрати шлях до градації. Після того, як це було встановлено правильно, мені довелося вибрати "Використовувати обгортку gradle за замовчуванням (рекомендується) у діалоговому вікні" Імпорт проекту з Gradle ".

Все ще спрацьовує, якщо я видалю gradle за допомогою варіння:

$ brew remove gradle

введіть тут опис зображення


2

Тут знаходиться мій дім з граді (Arch Linux):

/usr/share/java/gradle/

1

У мене були деякі дивні помилки, де він не міг знайти свій клас, мені довелося клацнути правою кнопкою миші на моїй папці src (була червоною), щоб "Створити каталог як" -> Корінь папки джерела


0

Клацніть Створити -> Проект із існуючих джерел -> Імпортувати проект Gradle ...

Тоді Ідея розпізнається градую автоматично.


0

Я не міг змусити його прийняти мій вибір Gradle JVM, поки не видалив зламаний JDK

Нижче вікно знаходиться з меню Файл -> Інші налаштування -> Структура нових проектів ...

Gradle JVM, тобто домашній шлях JDK

У мене був червоний запис 1,8 JDK SDK тут, як тільки я видалив, що помилка JVM Gradle зникла нижче, і я міг перейти до наступного кроку

Помилка JVM Gradle


-1

У випадку, якщо ви використовуєте Mac, швидше за все, наприклад, має бути ваш будинок gradle /usr/local/gradle-2.0.

Віддаючи перевагу IDEA шукайте gradle та встановіть gradle home, як зазначено вище. Це має працювати

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.