有没有办法解决jetty
完全由 from引起的文件锁定问题gradle
?
一些澄清:
当使用Gradle Jetty 插件时,通过运行gradle jettyRun,
jetty 会导致静态资源文件(html、css、js 等)在使用 Windows 时被锁定。您可以在 Windows 上锁定的文件中看到问题的描述。
同一篇文章还描述了如何解决这个问题。基本上你必须:
- 禁用文件映射缓冲区
- 根本不使用 NIO。
这两件事都需要在项目中添加一些特定于码头的配置文件,我不想这样做——码头插件只是为了方便而使用,为它维护配置感觉不对。
我不需要 NIO 在本地机器上进行测试,所以任何解决方案都可以。
编辑:
现在,我选择了您设置useFileMappedBuffer
为false
. 这是如何做到的:
指定您
webdefault.xml
喜欢的路径[jettyRun, jettyRunWar,jettyStop]*.with { //other configs webDefaultXml = file("${project.webAppDir}/WEB-INF/jetty-webdefault.xml") }
从 jetty 的最新 6.1.x 发行版获取文件。该插件似乎仅支持 jetty 6。您可以在
jetty-6.1.26\etc\webdefault.xml
. 显然,您必须将其放置在上一步指定的路径中。将默认的 servlet 初始化参数更改
useFileMappedBuffer
为false
我将研究使用插件的嵌入码头的选项。