Como definir a casa de Gradle na IDEA?

390

Estou tentando importar um projeto Gradle para o IntelliJ e, quando chego à Gradle Homecaixa de texto, ele não é preenchido automaticamente, nem digitando o caminho do Gradle Homeresultado em um local válido - eu tenho a GRADLE_USER_HOMEvariável de ambiente definida (para o que eu acho que é !) o caminho correto e pude importar com sucesso esse mesmo projeto para o Eclipse. Alguma sugestão?

user2699970
fonte
Sim, a discussão no site JetBrains parece indicar que há um problema com links simbólicos - veja a resposta de Denis.Zhdanov aqui: blog.jetbrains.com/idea/2013/04/gradle-improvements-at-121
josh-cain
11
Boa pergunta. Deseja selecionar uma resposta válida para isso. Não siga os pontos - eu sugeriria @ trenton's. Você também pode mencionar o sistema operacional em questão.
akauppi
11
Se você escolher "Usar o invólucro gradle padrão (recomendado)", não precisará definir o Gradle Home. Infelizmente, eles não acinzentam a caixa de entrada - apenas indicam que ela está desativada pelo tipo de cursor que você possui quando passa o mouse sobre ela.
Andrew Grimm

Respostas:

479

Você pode escrever um script gradle simples para imprimir seu GRADLE_HOMEdiretório.

task getHomeDir {
    doLast {
        println gradle.gradleHomeDir
    }
}

e nomeá-lo build.gradle.

Em seguida, execute-o com:

gradle getHomeDir

Se você instalou com homebrew, use brew info gradlepara encontrar o caminho base (ou seja /usr/local/Cellar/gradle/1.10/) e apenas acrescente libexec.

A mesma tarefa no Kotlin, caso você use build.gradle.kts:

tasks.register("getHomeDir") {
    println("Gradle home dir: ${gradle.gradleHomeDir}")
}
Heath Borders
fonte
10
Para aqueles no Linux Mint / Ubuntu, então /usr/share/gradleé a saída desse script gradle.
1859 Arthur Arthur
3
@ Steve Feliz em ajudar. Esta noite eu fui um beneficiário. Twitter.com/TrentonL/status/729546995686248448
Trenton
3
Isso funcionou para mim, mas é tão estúpido. Usei o SDK Manager da Gradle para instalar a Gradle. Por que o IntelliJ não pode usar isso?
AutonomousApps
No Fedora 25, isso também é / usr / share / gradle.
Uri Simchoni
2
Para o Arch Linux, é:/usr/share/java/gradle
SirWojtek 4/19/19
273

Instalado em um Mac via Homebrew, o caminho

/usr/local/opt/gradle/libexec

é preferível

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

já que o primeiro sobreviverá às atualizações de versão.

Trenton
fonte
Esse também é o caso do Android Studio (a partir do AS 1.3, de qualquer maneira).
James
Nice one, acabei usando esta besta para definir minha GRADLE_HOME (para evitar problemas quando Gradle atualização com cerveja) export GRADLE_HOME=`python -c "import os; print(os.path.realpath('$(which gradle)'))" | xargs dirname | xargs dirname | xargs printf "%s/libexec"` Se alguém pode simplificar, que seria útil também :)
mlo55
2
@ mlo55 muito mais fácil de usarexport GRADLE_HOME=$(realpath $(brew --prefix gradle))/libexec
delitescere
@ mlo55 Por que você fez isso em python, em vez de apenas chamar which gradleo shell?
18718 Mike On
@ MikeYoung, eu não tinha o caminho real instalado no momento. Nota: agora uso export GRADLE_HOME="$(brew --prefix gradle)/libexec/"conforme recomendado por @delitescene. Compare ls "$(brew --prefix gradle)/libexec/"com ls "$(which gradle)/libexec/"osx, se estiver usando brew.
mlo55
93

Se você instalou o gradle com homebrew, o caminho é:

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

Onde XX é a versão do gradle (atualmente 2.1)

HasanAboShally
fonte
46

Se você estiver usando o IntelliJ, faça o seguinte.

  1. Feche o projeto
  2. (re) Abrir o projeto
  3. você verá a mensagem "Importar projeto de classificação" na parte inferior direita. clique.
  4. selecione "Usar invólucro gradle padrão". não "Usar distribuição local de notas"

insira a descrição da imagem aqui

Isso é tudo.

Anderson
fonte
Se você selecionar "Usar invólucro gradle padrão", não será necessário fornecer o Gradle para casa?
Andrew Grimm
Resposta: Sim. Culpe o UX ruim que eu não havia notado antes.
Andrew Grimm
11
"Use gradle 'wrapper' task configuration"trabalhou para mim - idk o que significa pensamento
scottysseus
11
Se você quiser IDEA para definir a sua versão Gradle para você a partir de seu script de construção real, em seguida, selecionar "Use Gradle 'embalagem' configuração da tarefa"
Cloudish123
@AndrewGrimm No meu caso, este botão de opção está desativado. Então eu não posso selecioná-lo. Alguma ideia?
Mikheil Zhghenti 20/03/19
42

Foi isso que me ajudou a resolver o problema de não ter o Gradle em casa para a IDEA ao importar um projeto Gradle.

TRÊS OPÇÕES - (A) Wrapper padrão (B) "configuração da tarefa gradle 'wrapper'" OU (C) "distribuição local do gradle" definida pelos jetbrains: https://www.jetbrains.com/help/idea/gradle-settings .html

A. Wrapper padrão (recomendado)

Se você puder, selecione esta opção recomendada. Se estiver acinzentado, consulte a opção C, que deve definir o padrão para todos os projetos subseqüentes.

B. Configuração da tarefa Gradle 'Wrapper'

Se você deseja que a IDEA defina sua versão gradle para você a partir do script de construção

  1. Defina esta opção se você definir suas versões da compilação gradle como uma tarefa dentro da compilação atual da gradle.

Exemplo abaixo de jetbrains: https://www.jetbrains.com/help/idea/gradle-settings.html

insira a descrição da imagem aqui

(útil se você não deseja compartilhar compilações gradle entre projetos)

C. Distribuição local do 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

Isso ocorre porque "o libexec deve ser usado por outros daemons e utilitários de sistema executados por outros programas" (ou seja, IDEA). Consulte /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.

insira a descrição da imagem aqui

  1. A IDEIA agora deveria ter permitido que você pressione OK insira a descrição da imagem aqui
Cloudish123
fonte
Para mim não importa o que eu faço, eu recebo: Causa: incapaz de encontrar caminho de certificação válido para destino solicitado
slashdottir
@slashdottir, pode ter algo a ver com a rede que você está usando (se estiver no trabalho ou na Universidade) ou pode ser necessário fechar o IDEA, reiniciar a máquina e reconstruir a partir de um novo projeto. Consulte stackoverflow.com/questions/42415666/… , mesmo sendo um estúdio no Android, ainda pode ser útil. Deixe-me saber se isso ajuda.
Cloudish123
11
Finalmente apenas ligado à construção Gradle de comand-line - funcionou bem assim - THX
slashdottir
9

Esta é uma instrução apenas para MAC. Eu tive o mesmo problema. Eu resolvi configurando $GRADLE_HOMEno .bash_profile. Aqui está como você faz isso:

  • Aberto .bash_profile(geralmente está localizado no diretório inicial do usuário).
  • Adicione as seguintes linhas para atualizar a $PATHvariável: export GRADLE_HOME=/usr/local/opt/gradle/libexec export PATH=$GRADLE_HOME/bin:$PATH
  • Salve isso.
  • Aplique suas alterações executando source .bash_profile

Escrevi meu próprio artigo com instruções em um caso, se alguém encontrar o mesmo problema.

skryvets
fonte
Obrigado pela sua resposta. Para a versão gradle4.7: export GRADLE_HOME = / usr / local / Adega / Gradle / 4,7 / libexec export PATH = $ GRADLE_HOME / bin: $ PATH
Piash Sarker
11
@PiashSarker, vejo que /usr/local/opt/gradle/libexecé um link simbólico para /usr/local/Cellar/gradle/4.7/libexec . Se a versão gradle for atualizada, o link simbólico também será atualizado automaticamente. Dizendo isso, ainda é mais seguro de usar /usr/local/opt/gradle/libexec. Por favor me corrija se eu estiver errado.
Skryvets
9

C: \ Usuários \ <nome_do_usuário> \ .gradle \ wrapper \ dists \ gradle- <_version> -all \ <_number_random_maybe> \ gradle- <_version>

\ Android studio \ gradle não funcionou para mim.

E o "wrapper gradle padrão" não foi configurado durante a importação (clonagem) do projeto do bitbucket

Se causar problemas para descobrir o caminho, aqui está o meu caminho:

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

Prabs
fonte
Não é muito útil postar um caminho que funcione apenas com seu nome de usuário e números de versão específicos. Também não é útil não propor nenhuma solução.
22418 MarkHu
6

Em um mac, o ideal é estar em: /Applications/Android Studio.app/Contents/gradle/gradle-2.14.1

(Substitua a string da versão pela mais recente)

AnupamChugh
fonte
7
@RuchirBaronia Somente se você estiver usando o Android Studio
hitch.united 4/17/17
Isso não é uma resposta. O que deveria ser "idealmente" não é o que precisa ser respondido.
wyde19
Obviamente, a versão do Gradle continuará subindo ao longo dos anos. Tente isto para ver o que você tem atualmente:ls -d "/Applications/Android Studio.app/Contents/gradle"/*
MarkHu
3

AFAIK é GRADLE_HOME e não GRADLE_USER_HOME (consulte a instalação gradle http://www.gradle.org/installation ).

Por outro lado, brinquei um pouco com o suporte da Gradle na Idea 13 Cardea e acho que a casa dos gradle não é descoberta automaticamente pela Idea. Nesse caso, você pode registrar um problema no youtrack.

Além disso, se você usar o gradle 1.6+, poderá usar o suporte Graldle para definir a compilação e o wrapper. Acho que a ideia descobre automaticamente o projeto gradle baseado em wrapper.

$ gradle setupBuild --type java-library

$ gradle wrapper

Nota: Tipos de biblioteca suportados: básico, maven, java

Saudações

jtonic
fonte
3

Se você estiver usando MacPorts, o caminho é

/opt/local/share/java/gradle
Daniel Scott
fonte
2

Eu tive que configurar o SDK do projeto antes de selecionar o caminho do gradle. Uma vez que isso foi definido corretamente, tive que escolher "Usar wrapper gradle padrão (recomendado) na caixa de diálogo" Importar projeto de Gradle ".

Ainda funciona se eu remover o gradle usando o brew:

$ brew remove gradle

insira a descrição da imagem aqui

user674669
fonte
2

Aqui é onde fica minha casa gradle (Arch Linux):

/usr/share/java/gradle/
VBorisoff
fonte
1

Eu tive alguns erros estranhos onde não consegui encontrar minha classe, tive que clicar com o botão direito do mouse na pasta src (vermelha) para "Criar diretório como" -> Raiz da pasta de origem

Burf2000
fonte
0

Clique em Novo -> Projeto de fontes existentes -> Importar projeto de classificação ...

A Idea reconheceu o gradle automaticamente.

Martin Pfeffer
fonte
0

Não consegui aceitar minha seleção da JVM Gradle até excluir um JDK quebrado

A janela abaixo é de Arquivo -> Outras configurações -> Estrutura para novos projetos ...

Gradle JVM, ou seja, caminho inicial do JDK

Eu tinha uma entrada vermelha do JDK SDK de 1,8 aqui, uma vez que excluí o erro Gradle JVM abaixo desapareceu e pude seguir para a próxima etapa

Erro JVM Gradle

Kevin
fonte
-1

No caso de você estar usando o Mac, provavelmente sua casa gradle deve ser, /usr/local/gradle-2.0por exemplo.

De preferência na IDEA, pesquise gradle e defina-o como indicado acima. Deveria funcionar

RAM
fonte