Jetty锁定文件的问题

[转]http://blog.csdn.net/bluishglc/article/details/5819032

Jetty锁定文件的问题


在windows系统上,jetty默认在运行时会锁定部署的文件。这对于需要在程序运行期间动态生成或改动某些文件就变得不能执行!对于 这一点,Jetty的官网上专门有文章进行了解释:http://docs.codehaus.org/display/JETTY /Files+locked+on+Windows

如果突破这个限制,只需要改动一个jetty的配制文件即可,方法是:

在jetty的jar包中找到org/mortbay/jetty/webapp/webdefault.xml,搜索useFileMappedBuffer:

 

[xhtml] view plain copy
  1. <init-param>  
  2.   <param-name>useFileMappedBuffer</param-name>  
  3.   <param-value>true</param-value> <!-- change to false -->  
  4. </init-param>  

 

将param-value从true改为false即可。可以直接修改jar包内的这个文件,但是修改发行包毕竟不好,可以将此文件复制一份,在启动Jetty时用自己的这个webdefault.xml覆盖Jetty的设置即可。加上:

WebAppContext webapp = new WebAppContext();

webapp.setDefaultsDescriptor( "./webdefault.xml" );



Solution 2
(This solution was provided by Sasa Skevin.)
Add this configuration snippet to any web.xml :
<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>

你可能感兴趣的:(jetty)