2014-07-08 19 views
8

Próbuję konfiguracji prostego webapp z Gradle 1.7, 9.2 i pomost IntelliJ IDEA 13.Gradle + IntelliJ IDEA 13 bug

Oto kilka typowych linii config z Gradle build znalezione w tutoriali Używam:

apply plugin: 'jetty' 

sourceCompatibility = 1.5 
version = '1.1' 

repositories { 
    mavenCentral() 
} 

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

Konfiguracja do uruchomienia w IDEA jest w Edit Configurations...->Add->Gradle, zadaniem jest jettyRun. Do pierwszego uruchomienia wszystko działa bez zarzutu, pomost rozpoczyna się, webapp jest dostępny w przeglądarce. Ale gdybym coś zmienić w pliku gradle.build i uruchom ponownie zadanie pojawi się następujący błąd:

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 

Jedynym sposobem, aby kontynuować pracę jest ponowne uruchomienie IDE

Jakieś pomysły?

+0

Kliknięcie przycisku odświeżania (podwójnych niebieskich strzałek) w oknie zadań IntelliJ Gradle naprawia problem? – javajon

+0

Nie, ten sam błąd występuje: Odświeżenie projektu "Gradle" grdl2 "nie powiodło się: Limit czasu oczekiwania ...' – kassie

+0

Może spróbować usunąć folder '.gradle' w folderze projektu? – Opal

Odpowiedz

4

Po kilku badaniach dowiedziałem się, że problem jest w prawidłowo kończącym się pomoście. Jeśli zatrzymasz pomost przez przycisk "Zakończ" na pasku narzędzi IDEA, blokada pozostaje w pliku pamięci podręcznej. Musisz więc zatrzymać przystań za pomocą zadania jettyStop. Musisz także podać stopKey i stopPort dla pomyślnego wykonania zadania.

4

usunąć plik blokady

sudo rm -f <lockfile> 

zabić PID

kill -9 <pid> 

Spróbuj ponownie

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' musi zachować!

+2

Podaj opis wyjaśniający, dlaczego uważasz, że jest to rozwiązanie. – Trinimon

1

Jest to znany problem, gdy są uruchomione wielokrotnego buduje z tego samego pliku build.gradle patrz https://issues.gradle.org/browse/GRADLE-2795

Nie wiem, czy IntelliJ pozwala, ale jedno możliwe obejście jest użycie opcji poleceń --gradle użytkownikowi -home, aby określić inny katalog Gradle, z tą wadą, że pobierze ponownie wszystkie zależności do tego katalogu.

Istnieją inne sposoby obejścia tego problemu, mimo że nie próbowałem żadnej z nich.

0

Nie wiem, jak rozwiązać ten problem technicznie, ale można to zrobić ręcznie.

  1. Uruchom ponownie komputer.
  2. Przejdź do folderu projektu i znajdź folder .gradle.
  3. wejść i usunąć plik cache.properties.lock
  4. wróci się, a następnie znaleźć folderu w użytkownikach .gradle dla platformy Windows
  5. się w folderze caches i zajrzeć do folderu modules-2 usunąć plik modules-2.lock wewnątrz.
  6. Zacznij Android Studio normalnie

To, co zrobiłem, i to działa na mnie. Może się to zdarzyć, gdy zamkniesz proces budowania, więc żaden inny proces nie może go użyć ponownie, dopóki nie uruchomisz ponownie komputera.

Powiązane problemy