Ich versuche, eine einfache Webapp mit Gradle 1.7, Jetty 9.2 und Intellij IDEA 13 einzurichten.
Hier ein paar typische Config-Zeilen des Graples-Builds, die ich in Tutorials gefunden habe:
%Vor% Die Konfiguration zum Starten in IDEA ist in Edit Configurations...->Add->Gradle
, die Aufgabe ist jettyRun
.
Für den ersten Lauf läuft alles einwandfrei, der Anlegesteg startet, die Webapp ist in einem Browser verfügbar.
Aber wenn ich etwas in der Datei gradle.build
ändere und die Aufgabe erneut ausführe, wird folgender Fehler auftreten:
Die einzige Möglichkeit, weiter zu arbeiten, ist das Neustarten von IDE
Irgendwelche Ideen?
Nach einigen Nachforschungen habe ich herausgefunden, dass das Problem in der richtigen Anlegestelle liegt. Wenn Sie den Anlegesteg über die Schaltfläche "Beenden" auf der IDEA-Symbolleiste anhalten, bleibt die Sperre in der Cache-Datei erhalten. Sie müssen also den Anlegesteg über jettyStop
task stoppen. Außerdem müssen Sie stopKey
und stopPort
für die Ausführung einer erfolgreichen Aufgabe angeben.
Dies ist ein bekanntes Problem, wenn mehrere Builds von derselben build.gradle-Datei ausgeführt werden, siehe Ссылка
Nicht sicher, ob IntelliJ dies zulässt, aber eine mögliche Abhilfe besteht darin, mit der Befehlszeilenoption --gradle-user-home ein anderes Gradle-Verzeichnis anzugeben, mit dem Nachteil, dass alle Abhängigkeiten wieder in dieses Verzeichnis heruntergeladen werden. p>
Es gibt andere Problemumgehungen, die im Problem beschrieben sind, obwohl ich keines davon versucht habe.
Ich weiß nicht, wie man das technisch anpackt, aber Sie können das manuell tun.
.gradle
. cache.properties.lock
.gradle
in den Benutzern für die Windows-Plattform caches
Ordner und suchen Sie nach dem modules-2
Ordner und löschen Sie die modules-2.lock
Datei darin. Das habe ich gemacht und es funktioniert für mich. Möglicherweise geschieht dies, wenn Sie den Build-Prozess erzwingen, sodass kein anderer Prozess dies bis zum Neustart erneut verwenden kann.
Tags und Links java gradle jetty intellij-idea