我正在使用标准“Jetty服务器”运行配置将其部署到本地Jetty 9.3服务器的IntelliJ 2016.2.4(Windows 7)中的项目上工作。无法从IntelliJ重新加载Jetty服务器上的静态文件
重新加载普通Java类(在调试模式下)正常工作。但是,当我尝试重新部署静态文件main.js
,的IntelliJ显示以下错误:
java.io.FileNotFoundException: D:\Projects\portal\build\exploded\portal-project\js\main.js (The requested operation cannot be performed on a file with a user-mapped section open)
继this,我试图让修改
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>false</param-value> <!--Changed from <param-value>false</param-value>-->
</init-param>
到码头分布目录的etc/webdefault.xml
。没有其他变化已经做出分配。特别地,jetty.deploy.defaultsDescriptorPath
具有在etc/jetty-deploy.xml
中设置的默认值<Property name="jetty.home" default="." />/etc/webdefault.xml
。
不幸的是,这没有任何区别。如this answer中提出的设置maxCachedFiles
到0
也没有工作。
我在某处发现Jetty Maven插件可能会解决问题,但该项目不使用Maven(也不是Gradle)。
编辑:我不知道是否有任何意义,但在启动时,我得到的日志行
2016-09-21 17:27:33.275:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended. [...]
我一直无法复制这个,虽然我在Windows 10上。奇怪的是,我不能在Win10上使用DefaultServlet显示错误。我**可以**在使用ResourceHandler时发生错误,但在webdefault.xml中进行更改将清除它。你确定你没有其他的呼叫说一个web.xml或代码中的其他地方冲突吗? – Walkerwatch