我正在使用標準「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