Eclipse Jetty调试时无法保存js文件

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  

    <build>
        <finalName>DlmpWeb</finalName>
        <plugins>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>6.1.26</version>
                <configuration>
                    <contextPath>/DlmpWeb</contextPath>
                    <connectors>
                        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                            <port>8080</port>
                        </connector>
                    </connectors>
                    <webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
                </configuration>
            </plugin>
        </plugins>
    </build>
posted @ 2015-11-13 12:29  业精于勤而荒于嬉  阅读(546)  评论(0编辑  收藏  举报