Как определить дом Gradle в IDEA?

390

Я пытаюсь импортировать проект Gradle в IntelliJ, и когда я попадаю в Gradle Homeтекстовое поле, он не заполняется автоматически и не вводит путь к Gradle Homeрезультату в допустимом местоположении - у меня установлена GRADLE_USER_HOMEпеременная среды (то, что я считаю !) правильный путь, и я смог успешно импортировать этот же проект в Eclipse. Какие-либо предложения?

user2699970
источник
Да, обсуждение на сайте JetBrains, кажется, указывает на то, что это проблема с символическими ссылками - см. Ответ Дениса Жданова здесь: blog.jetbrains.com/idea/2013/04/gradle-improvements-at-121
josh-cain
1
Хороший вопрос. Вы хотите выбрать правильный ответ для этого. Не ходите по пунктам - я бы предложил @ Трентон. Вы также можете упомянуть об этой ОС в вопросе.
akauppi
1
Если вы выбрали «Использовать упаковщик по умолчанию (рекомендуется)», вам не нужно устанавливать Gradle Home. К сожалению, они не затеняют поле ввода для него - они просто указывают, что оно отключено тем типом курсора, который вы используете при наведении на него курсора.
Эндрю Гримм

Ответы:

479

Вы можете написать простой скрипт для печати вашего 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
@ Стив, рады помочь. Сегодня вечером я сам был бенефициаром. twitter.com/TrentonL/status/729546995686248448
Трентон
3
Это сработало для меня, но это так глупо. Я использовал Gradle's SDK Manager для установки Gradle. Почему IntelliJ не может это использовать?
Автономные приложения
На 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 (во всяком случае, к AS 1.3).
Джеймс
Хороший, я закончил тем, что использовал этого зверя, чтобы установить свой GRADLE_HOME (чтобы избежать проблем при обновлении gradle с помощью brew). 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, у меня не было установленного реального пути в то время. nb: я сейчас использую export GRADLE_HOME="$(brew --prefix gradle)/libexec/"как рекомендовано @delitescene. Сравните ls "$(brew --prefix gradle)/libexec/"с ls "$(which gradle)/libexec/"OSX, если вы используете варку.
mlo55
93

Если вы установили gradle с помощью homebrew, то путь:

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

Где XX - версия gradle (в настоящее время 2.1)

HasanAboShally
источник
46

Если вы используете IntelliJ, просто сделайте следующее.

  1. Закрыть проект
  2. (пере) открыть проект
  3. вы увидите сообщение «Импортировать проект Gradle» в правом нижнем углу. нажмите кнопку.
  4. выберите «Использовать упаковщик по умолчанию». не «Использовать локальное распространение Gradle»

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

Это все.

Андерсон
источник
Если вы выберете «Использовать упаковщик Gradle по умолчанию», не обязательно ли поставлять Gradle домой?
Эндрю Гримм
Ответ: да. Во всем виноват плохой UX, которого я раньше не замечал.
Эндрю Гримм
1
"Use gradle 'wrapper' task configuration"работал для меня - ИДК, что это значит, думал
Scottysseus
1
Если вы хотите, чтобы IDEA определял вашу версию Gradle для вас из вашего фактического сценария сборки, тогда вы выбираете «Использовать конфигурацию задачи«
Gradle
@AndrewGrimm В моем случае этот переключатель отключен. Поэтому я не могу выбрать его. Любые идеи?
Михаил Жгенти
42

Это то, что помогло мне решить проблему отсутствия установки Gradle для IDEA при импорте проекта Gradle.

ТРИ ВАРИАНТА - (A) Wrapper по умолчанию (B) "конфигурация задачи" gradle 'wrapper "" ИЛИ (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 между проектами)

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. ИДЕЯ должна была позволить тебе ударить ОК введите описание изображения здесь
Cloudish123
источник
Независимо от того, что я делаю, я получаю: Причина: невозможно найти действительный путь сертификации для запрошенной цели
slashdottir
@slashdottir это может иметь какое-то отношение к используемой вами сети (если вы работаете или учитесь в университете), или вам может потребоваться закрыть IDEA, перезапустить компьютер и восстановить его из нового проекта. См. Stackoverflow.com/questions/42415666/… Даже если это Android-студия, она все еще может быть полезной. Дайте мне знать, если это поможет.
Cloudish123
1
Наконец, просто переключился на сборку gradle с командной строки - все получилось нормально - спасибо
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

Я написал свою статью с инструкцией на случай, если кто-то столкнется с такой же проблемой.

skryvets
источник
Спасибо за Ваш ответ. Для gradle4.7 версии: экспорт GRADLE_HOME = / USR / местные / Погреб / Gradle / 4,7 / libexec экспорт PATH = $ GRADLE_HOME / бен: $ PATH
Piash Саркер
1
@PiashSarker, я вижу, что /usr/local/opt/gradle/libexecэто символическая ссылка на /usr/local/Cellar/gradle/4.7/libexec . Если обновленная версия будет обновлена, символическая ссылка также будет автоматически обновлена. Сказав это, все еще безопаснее в использовании /usr/local/opt/gradle/libexec. Пожалуйста, поправьте меня, если я ошибаюсь.
скрывец
9

C:. \ Users \ <имя пользователя _> \ Gradle \ обертка \ dists \ Gradle - <_ версия> -все \ <_ number_random_maybe> \ Gradle - <_ версия>

Студия Android \ Gradle не работает для меня.

И «Default gradle wrapper» не был настроен при импорте (клонировании) проекта из bitbucket

Если это вызывает проблему, чтобы выяснить путь, вот мой путь:

C: \ Users \ prabs \ .gradle \ обертка \ dists \ Gradle-5.4.1-все \ 3221gyojl5jsh0helicew7rwx \ Gradle-5.4.1

Prabs
источник
Не очень полезно размещать путь, который работает только с вашим именем пользователя и конкретными номерами версий. Также не полезно не предлагать никаких решений.
MarkHu
6

На Mac это в идеале должно быть по адресу: /Applications/Android Studio.app/Contents/gradle/gradle-2.14.1

(Замените строку версии последней)

AnupamChugh
источник
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, и я думаю, что этот дом автоматически не обнаруживается Idea. Если это так, вы можете подать вопрос в youtrack.

Также, если вы используете Gradle 1.6+, вы можете использовать поддержку Graldle для настройки сборки и оболочки. Я думаю, что идея автоматически обнаружить основанный на оболочке проект gradle.

$ gradle setupBuild --type java-library

$ gradle обертка

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

С уважением

jtonic
источник
3

Если вы используете MacPorts, путь

/opt/local/share/java/gradle
Дэниел Скотт
источник
2

Мне пришлось настроить Project SDK, прежде чем выбрать путь Gradle. После того, как это было установлено правильно, мне пришлось выбрать «Использовать упаковщик Gradle по умолчанию (рекомендуется) в диалоговом окне« Импортировать проект из Gradle ».

Все еще работает, если я удаляю Gradle, используя Brew:

$ brew remove gradle

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

user674669
источник
2

Вот где находится мой укромный дом (Arch Linux):

/usr/share/java/gradle/
VBorisoff
источник
1

У меня были некоторые странные ошибки, когда он не мог найти мой класс, мне пришлось щелкнуть правой кнопкой мыши по моей папке src (была красной), чтобы «Сделать каталог как» -> Корень исходной папки

Burf2000
источник
0

Нажмите New -> Project из существующих источников -> Import gradle project ...

Тогда идея распознается автоматически.

Мартин Пфеффер
источник
0

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

Это окно ниже из меню Файл -> Другие настройки -> Структура для новых проектов ...

Gradle JVM т.е. JDK домашний путь

У меня была красная запись 1.8 JDK SDK здесь, как только я удалил эту ошибку Gradle JVM ниже, исчез, и я мог перейти к следующему шагу

Ошибка Gradle JVM

Kevin
источник
-1

В случае, если вы используете Mac, скорее всего, ваш домашний дом должен быть, /usr/local/gradle-2.0например.

В предпочтении IDEA ищите gradle и установите gradle домой, как указано выше. Он должен работать

Баран
источник