前几天jetty下发现java无法删除文件,文件操作后一直被jvm占用,无奈换了tomcat问题消失。

今天又想起来,尝试网上的解决方法,经本人试验,直接修改配置文件有时不能生效,具体原因不清楚,建议使用直接修改web.xml文件

下文中的红色部分

  文件被锁定是由于在使用windows系统时,jetty默认在内存中映射了这些文件,而windows会锁定内存映射的文件。解决的办法就是修改jetty的配置,让其在启动server时将useFileMappedBuffer标志位设置为false。

  设置方法有两种,一种是修改webdefault.xml文件中的useFileMappdBuffer标志位。webdefault.xml文件是jetty启动服务的配置文件,其先于项目中的WEB-INF/web.xml文件被加载。 jetty包中默认有这个文件,可以将其提取出来,保存在项目根目录下,并修改useFileMappedBuffer节点。

1
2
<param-name>useFileMappedBuffer</param-name>
<param-value>false</param-value>

  然后在build.gradle加入对此文件的引用。

1
2
3
[jettyRun, jettyRunWar,jettyStop]*.with {
webDefaultXml = file("${rootDir}/webdefault.xml")
}

  第二种方法是修改项目中的WEB-INF/web.xml文件,在其中加入这个节点。

1
2
3
4
5
6
7
8
9
<servlet>
<!-- Override init parameter to avoid nasty -->
<!-- file locking issue on windows. -->
<servlet-name>default</servlet-name>
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>false</param-value>
</init-param>
</servlet>

最新文章

  1. VS2010--canot determine the locationof the vs common tools folder
  2. springMVC 基于注解的controller
  3. 3ds max删除了对象后,还是将原来所有对象输出的原因
  4. [分享]关于windows下的小技巧
  5. 静态方法和类成员方法(Python)
  6. vim之pydiction插件
  7. Ubuntu下安装搜狗拼音输入法
  8. VisualStudio中的编辑后期生成事件
  9. Supervisor安装与使用
  10. PO、POJO、BO、DTO、VO之间的区别(转)
  11. CentOS7设置固定IP
  12. Git Bash的妙用 - 使用Linux命令
  13. setvlet基础知识
  14. 聊一聊Linux中的工作队列2
  15. APP性能测试--功耗测试
  16. 20165203迭代和JDB测试
  17. 运行HBase应用开发程序产生异常,提示信息包含org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory的解决办法
  18. UNITY 打APK是如何确定哪些资源有用哪些无用的
  19. Python学习---Django误删除sql表后,如何创建数据
  20. struts2 - View页面中获取Action的成员变量

热门文章

  1. 全库修改SQL Server现有排序规则
  2. 【bzoj4200】[Noi2015]小园丁与老司机 STL-map+dp+有上下界最小流
  3. BZOJ 2595 [Wc2008]游览计划 ——斯坦纳树
  4. [luoguP3159] [CQOI2012]交换棋子(最小费用最大流)
  5. POJ 1006 生理周期【数论】
  6. Codeforces633G - Yash And Trees
  7. 算法复习——数位dp(不要62HUD2089)
  8. 棋盘制作 BZOJ 1057
  9. Linux java 启动脚本
  10. Python入门--4--分之和循环