Ran into a problem earlier today and thought I would share the solution.

I have set up appfuse to edit files in place using jetty:run. I found I was able to edit jsps fine, but when I tried javascipt or css files I was getting the following error (if my app was running and I had already navigated to a page).

"The requested operation cannot be performed on a file with a user-mapped section open"

Which basically meant (from what I understand) that my browser had the file open through memory mapped files and NIO.

A little google love uncovered

http://docs.codehaus.org/display/JETTY/Files+locked+on+Windows
http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin

From there the solution was to

1. Extract webdefault.xml from Jetty.jar at org.jetty.org/mortbay/jetty/webapp/webdefault.xml
and save in my project


2. Edit webdefault.xml to change useFileMappedBuffer to false
    <init-param>
        <param-name>useFileMappedBuffer</param-name>
        <param-value>true</param-value>
    </init-param>
to
    <init-param>
        <param-name>useFileMappedBuffer</param-name>
        <param-value>false</param-value>
    </init-param>


3. Tell Jetty maven plug-in to use my webdefault.xml by adding
     <webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
to my pom.xml under configuration for the maven-jetty-plugin.



From the sounds of it this error only occurs on windows.



Daryl





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to