2014-07-08 23 views
8

Sto cercando di configurazione semplice webapp con Gradle 1.7, 9.2 e pontile IntelliJ IDEA 13.Gradle + IntelliJ IDEA 13 bug

Ecco alcune linee tipiche di configurazione di costruzione Gradle trovano in tutorial che sto utilizzando:

apply plugin: 'jetty' 

sourceCompatibility = 1.5 
version = '1.1' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    providedCompile 'javax.servlet:servlet-api:2.5' 
    // other dependencies 
} 

Configurazione per l'avvio in IDEA è in Edit Configurations...->Add->Gradle, attività è jettyRun. Per la prima esecuzione funziona tutto bene, inizia il molo, la webapp è disponibile in un browser. Ma se cambio qualcosa nel file gradle.build e rieseguire l'operazione si verificherà seguente errore:

A problem occurred configuring root project 'gr3'. 
Could not open buildscript class cache for build file 'D:\Work\priv\gr3\build.gradle' (C:\Users\Sazankov_LY\.gradle\caches\1.7\scripts\build_546r8n6d85n2abfbi95h2qqmh4\ProjectScript\buildscript). 

Timeout waiting to lock buildscript class cache for build file 'D:\Work\priv\gr3\build.gradle' (C:\Users\Sazankov_LY\.gradle\caches\1.7\scripts\build_546r8n6d85n2abfbi95h2qqmh4\ProjectScript\buildscript). It is currently in use by another Gradle instance. 
    Owner PID: unknown 
    Our PID: 11948 
    Owner Operation: unknown 
    Our operation: 
    Lock file: C:\Users\Sazankov_LY\.gradle\caches\1.7\scripts\build_546r8n6d85n2abfbi95h2qqmh4\ProjectScript\buildscript\cache.properties.lock 

L'unico modo per continuare a lavorare riavvio IDE

Tutte le idee?

+0

Se si fa clic sul pulsante di aggiornamento (due frecce blu rotanti) nella casella Attività Grado IntelliJ, il problema si risolve? – javajon

+0

No, si verifica lo stesso errore: Aggiornamento gradle 'grdl2' non riuscito: Timeout waiting ... ' – kassie

+0

Forse provare a rimuovere la cartella' .gradle' nella cartella del progetto? – Opal

risposta

4

Dopo alcune ricerche ho scoperto che il problema è nella corretta terminazione del molo. Se si ferma il molo con il pulsante "Termina" sulla barra degli strumenti di IDEA, il blocco rimane sul file di cache. Quindi è necessario fermare il molo tramite l'attività jettyStop. Inoltre, è necessario specificare stopKey e stopPort per eseguire correttamente l'attività.

4

eliminare il file di blocco

sudo rm -f <lockfile> 

uccidere il pid

kill -9 <pid> 

Riprova

gradle jettyRun -PbuildProfile=<profile> 
0
buildscript { 
repositories { 
    jcenter() 
} 
dependencies { 
    classpath 'com.android.tools.build:gradle:1.1.0' 

    // NOTE: Do not place your application dependencies here; they belong 
    // in the individual module build.gradle files 
} 
} 

'jcenter' deve tenere!

+2

Si prega di fornire una descrizione che spiega, perché pensi che questa sia una soluzione. – Trinimon

1

Si tratta di un problema noto quando più animazioni sono in esecuzione dallo stesso file build.gradle, vedi https://issues.gradle.org/browse/GRADLE-2795

Non sono sicuro se IntelliJ permette questo, ma una possibile soluzione è quella di utilizzare l'opzione di comando --gradle-user -home per specificare una cartella Gradle diversa, con il lato negativo che scaricherà nuovamente tutte le dipendenze in questa directory.

Esistono altri metodi descritti nel problema, sebbene non ne abbia provato nessuno.

0

Non so come affrontarlo tecnicamente, ma puoi farlo manualmente.

  1. Riavvia il computer.
  2. Passare alla cartella del progetto e individuare la cartella .gradle.
  3. entrare e cancellare il file cache.properties.lock
  4. tornare fuori e poi trovare la cartella .gradle negli utenti per la piattaforma Windows
  5. Vai nella cartella caches e cercare la cartella modules-2 eliminare il file modules-2.lock all'interno.
  6. crea il tuo Studio Android normalmente

Questo è quello che ho fatto e funziona per me. Forse succede quando si forza il processo di compilazione, quindi nessun altro processo può utilizzarlo nuovamente fino al riavvio.