在Windows下面,使用内存映射文件会导致文件被锁定。解决方案是不使用内存映射文件来做缓存。步骤如下:
1)在所使用Jetty版本的jar中找到webdefault.xml,把它拷贝到项目中,比如src/main/resources/webdefault.xml。
对jetty6,jar文件在$maven_repo$/org/mortbay/jetty/jetty/6.x/jetty-6.x.jar,webdefault.xml文件在包orgmortbayjettywebapp里;
对jetty7,jar文件在$maven_repo$/org/eclipse/jetty/jetty-webapp/7.x/jetty-webapp-7.x.jar,webdefault.xml文件在包orgeclipsejettywebapp里。
2)找到webdefault.xml文件里的useFileMappedBuffer参数,把值设成false。
3)在pom.xml中,设置jetty使用更新过的webdefault.xml文件。
jetty6: