【发布时间】:2017-03-17 07:07:06
【问题描述】:
我正在 IntelliJ 2016.2.4 (Windows 7) 中开发一个项目,该项目设置为使用标准“Jetty 服务器”运行配置部署到本地 Jetty 9.3 服务器。
重新加载普通 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>
发送至 Jetty 分发目录的 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 上,但我无法复制它。奇怪的是,我无法使用 DefaultServlet 在 Win10 上显示错误。我可以在使用 ResourceHandler 时遇到错误,但是在 webdefault.xml 中进行更改会清除它。您确定在 web.xml 或代码中的其他地方没有其他调用与此冲突吗?
标签: intellij-idea jetty