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

 

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

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

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

解决步骤如下:

  1. 找到webdefault.xml,

    我以6.x版本为例,jetty-6.jar在$maven_repo$/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  

<plugins>
  <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId> <version>6.1.26</version> <configuration>   <contextPath>/ossweb</contextPath> <connectors>   <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">   <port>8080</port> </connector> </connectors> <webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml> </configuration>   </plugin> </plugins>

 

你可能感兴趣的:(maven)