Windows で Gradle から Jetty プラグインで開発していると、静的リソースを Jetty がロックしてしまう。
jetty-6.XX\etc\webdefault.xml に Jetty のデフォルト設定があるので、WEB-INF/jetty-webdefault.xml にでもコピーして useFileMappedBuffer -> false に書き換える。
<init-param> <param-name>useFileMappedBuffer</param-name> <param-value>false</param-value> </init-param>
で gradle から以下の様に webDefaultXml の読み込み先を指定してあげるとよい。
[jettyRun, jettyRunWar, jettyStop]*.with { webDefaultXml = file("${project.webAppDir}/WEB-INF/jetty-webdefault.xml") }
Jetty を組み込みで利用している場合には、コンテキストに初期化パラメータを設定してあげればよい。
WebAppContext context = new WebAppContext(); ・・・ context.setInitParameter("org.eclipse.jetty.servlet.Default.useFileMappedBuffer", "false");