使用Maven + Jetty时,如何不锁定js css 静态资源

Jetty会使用内存映射文件来缓存静态文件,包括js,css文件。

在Windows下,使用内存映射文件会导致文件被锁定,所以当Jetty启动的时候无法在编辑器对js或者css文件进行编辑。

解决办法是更改Jetty默认配置,不适用内存映射文件来做缓存。

解决步骤如下:

  1. 找到webdefault.xml,

    我以6.x版本为例,jetty-6.jar在mavenrepo/org/mortbay/jetty/jetty/6.x/jetty-6.x.jar,

    webdefault.xml文件在包org\mortbay\jetty\webapp下。

    建议把webdefault.xml拷贝一个副本,在副本进行修改,并使用副本的配置,而不是去更改jar包里面的文件。

  2. 修改useFileMappedBuffer参数的值为false

  3.在pom.xml中指定使用修改过的webdefault.xml

  1. <plugins>
  2.   <plugin>
  3.     <groupId>org.mortbay.jetty</groupId>
  4.     <artifactId>maven-jetty-plugin</artifactId>
  5. <version>6.1.26</version>
  6. <configuration>
  7.   <contextPath>/ossweb</contextPath>
  8. <connectors>
  9.   <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
  10.   <port>8080</port>
  11. </connector>
  12. </connectors>
  13. <webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
  14. </configuration>
  15.   </plugin>
  16. </plugins>




posted @ 2015-07-28 17:52  小指  阅读(279)  评论(0编辑  收藏  举报