Come definire la casa di Gradle in IDEA?


390

Sto cercando di importare un progetto Gradle in IntelliJ, e quando arrivo alla Gradle Homecasella di testo, non viene popolato automaticamente, né digitando il percorso del Gradle Homerisultato in una posizione valida - ho GRADLE_USER_HOMEimpostato la variabile di ambiente (su quello che penso sia !) il percorso corretto e sono stato in grado di importare con successo questo stesso progetto in Eclipse. Eventuali suggerimenti?


Sì, la discussione sul sito JetBrains sembra indicare che si tratta di un problema con i collegamenti simbolici - vedi la risposta di Denis.Zhdanov qui: blog.jetbrains.com/idea/2013/04/gradle-improvements-at-121
josh-cain

1
Buona domanda. Desideri selezionare una risposta valida per questo. Non andare per i punti - suggerirei @ trenton's. Potresti anche voler menzionare il sistema operativo di cui si trattava nella domanda.
akauppi,

1
Se si sceglie "Usa wrapper gradle predefinito (consigliato)", non è necessario impostare Gradle Home. Sfortunatamente, non disattivano la casella di input per esso - indicano semplicemente che è disabilitato dal tipo di cursore che hai quando ci passi sopra con il mouse.
Andrew Grimm,

Risposte:


479

Puoi scrivere un semplice script gradle per stampare la tua GRADLE_HOMEdirectory.

task getHomeDir {
    doLast {
        println gradle.gradleHomeDir
    }
}

e nominalo build.gradle.

Quindi eseguilo con:

gradle getHomeDir

Se hai installato con homebrew, usa brew info gradleper trovare il percorso di base (es. /usr/local/Cellar/gradle/1.10/) E aggiungi semplicemente libexec.

La stessa attività in Kotlin nel caso in cui usi build.gradle.kts:

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

10
Per quelli su Linux Mint / Ubuntu, quindi /usr/share/gradleè l'output di questo script gradle.
Arthur,

3
@Steve Felice di aiutarti. Stasera sono stato anch'io un beneficiario. twitter.com/TrentonL/status/729546995686248448
Trenton

3
Questo ha funzionato per me, ma è così stupido. Ho usato l'SDK Manager di Gradle per installare Gradle. Perché IntelliJ non può usarlo?
AutonomousApps

Su Fedora 25 è anche / usr / share / gradle.
Uri Simchoni,

2
Per Arch Linux è:/usr/share/java/gradle
SirWojtek,

273

Installato su un Mac tramite Homebrew, il percorso

/usr/local/opt/gradle/libexec

è preferibile

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

poiché il primo sopravviverà agli aggiornamenti di versione.


Questo vale anche per Android Studio (a partire da AS 1.3, comunque).
James,

Bello, ho finito per usare questa bestia per impostare il mio GRADLE_HOME (per evitare problemi durante l'aggiornamento del gradle con brew) export GRADLE_HOME=`python -c "import os; print(os.path.realpath('$(which gradle)'))" | xargs dirname | xargs dirname | xargs printf "%s/libexec"` Se qualcuno può semplificare, sarebbe anche utile :)
mlo55

2
@ mlo55 molto più facile da usareexport GRADLE_HOME=$(realpath $(brew --prefix gradle))/libexec
delitescere

@ mlo55 perché l'hai fatto in Python piuttosto che chiamare semplicemente which gradlenella shell?
Mike Young,

@MikeYoung, al momento non avevo installato realpath installato. nb: ora uso export GRADLE_HOME="$(brew --prefix gradle)/libexec/"come raccomandato da @delitescene. Confronta ls "$(brew --prefix gradle)/libexec/"con ls "$(which gradle)/libexec/"su osx, se stai usando brew.
mlo55

93

Se hai installato Gradle con homebrew, il percorso è:

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

Dove XX è la versione di Gradle (attualmente 2.1)


46

Se si utilizza IntelliJ, attenersi alla seguente procedura.

  1. Chiudi il progetto
  2. (ri) Apri il progetto
  3. vedrai il messaggio "Importa progetto gradle" in basso a destra. clic.
  4. seleziona "Usa wrapper gradle predefinito". non "Usa distribuzione gradle locale"

inserisci qui la descrizione dell'immagine

È tutto.


Se si seleziona "Usa wrapper gradle predefinito", non è necessario fornire Gradle a casa?
Andrew Grimm,

Risposta: Sì Dai la colpa a una brutta UX che non avevo notato prima.
Andrew Grimm,

1
"Use gradle 'wrapper' task configuration"ha funzionato per me - idk cosa significa pensato
scottysseus

1
Se vuoi che IDEA definisca la versione gradle per te dal tuo vero script di compilazione, allora seleziona "Usa configurazione task 'wrapper'
gradle

@AndrewGrimm Nel mio caso questo pulsante di opzione è disabilitato. Quindi non posso selezionarlo. Qualche idea?
Mikheil Zhghenti,

42

Questo è ciò che mi ha aiutato a risolvere il problema di non avere Home Gradle impostato per l'IDEA durante l'importazione di un progetto Gradle.

TRE OPZIONI - (A) Default Wrapper (B) "gradle 'wrapper' configuration task" OPPURE (C) "local gradle distribution" definita da jetbrains: https://www.jetbrains.com/help/idea/gradle-settings .html

A. Wrapper predefinito (consigliato)

Se sei in grado, seleziona questa opzione consigliata. Se è disattivato, vedere l'opzione C, che dovrebbe quindi impostare il valore predefinito per tutti i progetti successivi.

B. Configurazione dell'attività "Wrapper" di Gradle

Se vuoi che IDEA definisca la versione gradle per te dal tuo script di build

  1. Impostare questa opzione se si definiscono le versioni di build gradle come attività all'interno della build di gradle effettiva.

Esempio di seguito da jetbrains: https://www.jetbrains.com/help/idea/gradle-settings.html

inserisci qui la descrizione dell'immagine

(utile se non si desidera condividere build graduali tra progetti)

C. Distribuzione locale dei voti

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

Questo perché "libexec deve essere utilizzato da altri demoni e utilità di sistema eseguiti da altri programmi" (cioè IDEA). Si prega di consultare /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.

inserisci qui la descrizione dell'immagine

  1. IDEA ora dovrebbe averti permesso di premere OK inserisci qui la descrizione dell'immagine

Per quanto mi riguarda, ottengo: Causa: impossibile trovare un percorso di certificazione valido per il target richiesto
slashdottir

@slashdottir potrebbe avere qualcosa a che fare con la rete che stai utilizzando (se al lavoro o all'università) o potresti dover chiudere IDEA, riavviare la macchina e ricostruire da un nuovo progetto. Vedi stackoverflow.com/questions/42415666/… , anche se è Android-Studio potrebbe essere comunque utile. Fammi sapere se qualcuno di questi aiuti.
Cloudish123,

1
Finalmente ho appena iniziato a costruire il gradle da comand-line - ha funzionato bene in quel modo - grazie
slashdottir,

9

Questa è un'istruzione solo per MAC. Ho avuto lo stesso problema. L'ho risolto configurando $GRADLE_HOMEin .bash_profile. Ecco come lo fai:

  • Apri .bash_profile(di solito si trova nella home directory dell'utente).
  • Aggiungi le seguenti righe per aggiornare la $PATHvariabile: export GRADLE_HOME=/usr/local/opt/gradle/libexec export PATH=$GRADLE_HOME/bin:$PATH
  • Salvarlo.
  • Applica le modifiche eseguendo source .bash_profile

Ho scritto il mio articolo con le istruzioni in un caso se qualcuno incontrerà lo stesso problema.


Grazie per la tua risposta. Per la versione gradle4.7: export GRADLE_HOME = / usr / local / Cellar / gradle / 4.7 / libexec export PATH = $ GRADLE_HOME / bin: $ PATH
Piash Sarker

1
@PiashSarker, vedo che /usr/local/opt/gradle/libexecè un link simbolico a /usr/local/Cellar/gradle/4.7/libexec . Se la versione gradle verrà aggiornata, anche il collegamento simbolico verrà automaticamente aggiornato. Detto questo, è ancora più sicuro da usare /usr/local/opt/gradle/libexec. Per favore correggimi se sbaglio.
skryvets

9

C:. \ Users \ <_ nomeutente> \ Gradle \ involucro \ dists \ Gradle - <_ versione> -all \ <_ number_random_maybe> \ Gradle - <_ versione>

\ Android studio \ gradle non ha funzionato per me.

E "Default gradle wrapper" non è stato configurato durante l'importazione (clonazione) del progetto da bitbucket

Se causa problemi nel capire il percorso, ecco il mio percorso:

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


Non molto utile per pubblicare un percorso che funziona solo con il tuo nome utente e numeri di versione particolari. Inoltre, non è utile non proporre alcuna soluzione.
MarkHu,

6

Su un mac dovrebbe idealmente essere in: /Applications/Android Studio.app/Contents/gradle/gradle-2.14.1

(Sostituisci la stringa di versione con l'ultima)


7
@RuchirBaronia Solo se stai utilizzando Android Studio
hitch.united il

Questa non è una risposta. Ciò che dovrebbe essere "idealmente" non è ciò a cui bisogna rispondere.
wyde19,

Ovviamente la versione di Gradle continuerà ad aumentare nel corso degli anni. Prova questo per vedere quello che hai attualmente:ls -d "/Applications/Android Studio.app/Contents/gradle"/*
MarkHu

3

AFAIK è GRADLE_HOME non GRADLE_USER_HOME (vedi installazione gradle http://www.gradle.org/installation ).

D'altra parte ho giocato un po 'con il supporto Gradle in Idea 13 Cardea e penso che la casa dei gradi non venga automaticamente scoperta da Idea. In tal caso, puoi presentare un problema su YouTube.

Inoltre, se usi il grado 1.6+, puoi usare il supporto Graldle per impostare build e wrapper. Penso che l'idea scopra automaticamente il progetto gradle basato su wrapper.

$ gradle setupCostruita --type java-library

$ gradle wrapper

Nota: tipi di libreria supportati: basic, maven, java

Saluti


3

Se stai usando MacPorts, il percorso è

/opt/local/share/java/gradle

2

Ho dovuto installare Project SDK prima di selezionare il percorso di pendenza. Una volta impostato correttamente, ho dovuto scegliere "Usa wrapper gradle predefinito (consigliato) nella finestra di dialogo" Importa progetto da gradle ".

Funziona ancora se rimuovo gradle usando brew:

$ brew remove gradle

inserisci qui la descrizione dell'immagine


2

Questo è dove è la mia casa di scuola elementare (Arch Linux):

/usr/share/java/gradle/

1

Ho avuto alcuni strani errori in cui non è stato possibile trovare la mia classe, ho dovuto fare clic con il tasto destro sulla mia cartella src (era rossa) per "Crea directory come" -> Root della cartella di origine


0

Fare clic su Nuovo -> Progetto da fonti esistenti -> Importa progetto gradle ...

Quindi Idea ha riconosciuto il voto automaticamente.


0

Non sono riuscito a far accettare la mia selezione JVM Gradle fino a quando non ho eliminato un JDK rotto

La finestra seguente è da File -> Altre impostazioni -> Struttura per nuovi progetti ...

Gradle JVM ovvero percorso home JDK

Ho avuto una voce SDK JDK 1.8 rossa qui, una volta che ho eliminato l'errore JVM Gradle di seguito scomparso e potevo passare al passaggio successivo

Errore JVM di livello


-1

Nel caso in cui utilizzi Mac, molto probabilmente la tua casa di accoglienza dovrebbe essere /usr/local/gradle-2.0ad esempio.

Preferendo la ricerca IDEA per il gradle e impostarlo come indicato sopra. Dovrebbe funzionare

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.