在windows系统上,jetty默认在运行时会锁定部署的文件。这对于需要在程序运行期间动态生成或改动某些文件就变得不能执行!对于这一点,Jetty的官网上专门有文章进行了解释:http://docs.codehaus.org/display/JETTY/Files+locked+on+Windows
如果突破这个限制,只需要改动一个jetty的配制文件即可,方法是:
在jetty的jar包中找到org/mortbay/jetty/webapp/webdefault.xml,搜索useFileMappedBuffer:
useFileMappedBuffer true
将param-value从true改为false即可。可以直接修改jar包内的这个文件,但是修改发行包毕竟不好,可以将此文件复制一份,在启动Jetty时用自己的这个webdefault.xml覆盖Jetty的设置即可。加上:
WebAppContext webapp =
new
WebAppContext();
webapp.setDefaultsDescriptor(
"./webdefault.xml"
);