Jetty运行时,会使用内存映射文件来缓存静态文件,其中包括html、js、css等文件。在Windows下面,使用内存映射文件会导致文件被锁定。如何让文件不被锁定呢,解决方案是不使用内存映射文件来做缓存。
方法一:在web.xml中添加如下配置即可
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
方法二:
1.在你使用的Jetty版本的jetty.jar中找到webdefault.xml,它在jar文件中的路径是org/mortbay/jetty/webapp/webdefault.xml。把它拷贝到项目中,比如src/main/resources/webdefault.xml。
2.找到useFileMappedBuffer参数,把值设成false
3.在pom.xml中,设置jetty使用更新过的webdefault.xml文件。
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>${jetty.version}</version>
<configuration>
...
<webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
</configuration>
分享到:
相关推荐
通过以上步骤,可以有效地解决使用Maven Jetty插件时出现的CSS、JS等文件被锁定的问题。这一解决方案不仅有助于提高开发效率,还能确保开发过程中静态资源的实时更新,从而提升整体的开发体验。
保证类只有一个实例,常通过私有构造器、静态工厂方法和双重检查锁定等方式实现。 【n的阶乘】 使用递归或循环计算n!,注意防止溢出。 【XML解析技术】 DOM解析一次性加载整个XML文档,适用于小文件;SAX解析事件...
21. **Web服务器与应用服务器**:Web服务器如Apache、Nginx处理静态内容,应用服务器如Tomcat、Jetty处理动态内容,更支持企业级特性。 22. **并发数与在线数**:并发数指同一时刻处理的请求数,在线数指系统中活跃...
内存溢出是指程序在运行过程中耗尽了可用的内存资源,导致程序无法继续正常运行。 **可能场景:** - **创建大量对象**:在有限的空间内创建了过多的对象。 - **递归调用**:深度过大的递归调用会导致栈溢出。 - **...
- **核心思想**: 线程获取资源失败时会被构造成一个节点加入到等待队列中, 当资源释放时, 节点中的线程有机会获取资源。 - **主要组件**: `Sync`、`Condition`等。 #### 2. `lock`和`synchronized`的区别 - **`...