Gibt es eine Möglichkeit, das durch jetty
verursachte Problem der Dateisperrung vollständig von gradle
zu lösen?
Einige Klarstellungen:
Wenn Sie das Gradle Jetty-Plugin verwenden, indem Sie gradle jettyRun,
jetty ausführen, werden die statischen Ressourcendateien (html, css, js usw.), die bei Verwendung von Windows gesperrt werden.
Sie können eine Beschreibung des Problems in Dateien, die unter Windows gesperrt sind , sehen.
Derselbe Artikel beschreibt auch, wie Sie das beheben können. Grundsätzlich müssen Sie entweder:
Beide Dinge erfordern, dass einige antriebsspezifische Konfigurationsdateien zum Projekt hinzugefügt werden, was ich nicht tun möchte - das Anlegesteg-Plugin wird nur aus praktischen Gründen verwendet, und die Konfiguration ist nicht richtig.
Ich brauche NIO nicht zum Testen auf dem lokalen Rechner, daher funktioniert jede Lösung.
Bearbeiten:
Vorerst habe ich die Option ausgewählt, bei der Sie useFileMappedBuffer
auf false
setzen. So geht es:
Geben Sie einen Pfad zu Ihrem webdefault.xml
like
Ermitteln Sie die Datei von der neuesten 6.1y-Verteilung der Anlegestelle. Das Plugin scheint nur Anlegesteg 6 zu unterstützen. Sie können es bei jetty-6.1.26\etc\webdefault.xml
lokalisieren. Offensichtlich müssen Sie es an dem im vorherigen Schritt angegebenen Pfad platzieren.
useFileMappedBuffer
in false
Ich werde die Option der Verwendung von eingebetteten Anlegestellen anstelle des Plugins untersuchen.
Kiril beantwortete seine eigene Frage, vielen Dank. Sie sollten den Anweisungen von Kiril folgen, damit Sie die passende webdefault.xml
finden können.
Um herauszufinden, welche Version von Jetty von Gradle gestartet wird, führen Sie
aus %Vor%Und Sie werden so etwas sehen:
%Vor%Ich habe eine Weile gebraucht, um eine Kopie von Jetty 6.1.25 zu finden, da sie nicht mehr auf der Jetty-Download-Seite aufgeführt ist (nicht einmal im Archiv-Bereich!).
Sie können dann die entsprechende Kopie von webdefault.xml
von hier abholen und die Versionsnummer Ihren Bedürfnissen entsprechend anpassen:
Ich habe ein Plugin gefunden, das eine bessere Alternative zu sein scheint:
jettyRun
(oder einfacher run
). apply plugin: 'war'
(Jetty-Plugin erweitert das War-Plugin)