Я пытаюсь обойти общую проблему блокировки статических файлов Jetty в Windows с помощью метода установки useFileMappedBuffer
на false в webdefault.xml. К сожалению, каждый раз, когда Jetty не собирает мой настроенный файл webdefault.xml.
Я использую Apache Maven 3.0.2. Я пробовал использовать maven-jetty-plugin (v6.1.26) и jetty-maven-plugin (v8.0.0.M2), но без разницы. Я попытался запустить чистую и перестроить, а также запустить Jetty.
Я проверял каждый раз, когда мой webdefault.xml был взят из той же версии, что и плагин, и имеет правильные настройки, а именно, только изменяя этот параметр с true на false:
...
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>false</param-value>
</init-param>
...
И вот как выглядит мой плагин pom.xml Jetty:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<contextPath>/</contextPath>
<webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
</configuration>
</plugin>
Я также попытался изменить путь к моему файлу:
<webDefaultXml>${basedir}/src/main/resources/webdefault.xml</webDefaultXml>
Всюду я видел это точное решение, и похоже, что он работает для других (хотя я нашел один случай, когда у кого-то была проблема). Запуск для причала имеет это на выходе:
> mvn jetty:run
...
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides = none
...
Это заставляет меня думать, что это не применяется. Все остальные пути верны на выходе.
Моя самая непосредственная проблема, которую я вижу при запуске Jetty, заключается в том, что всякий раз, когда я редактирую статический файл (JavaScript, CSS и т.д.) с IntelliJ IDEA 10, я получаю это сообщение об ошибке:
Cannot save file:
D:\...\... (The requested operation cannot be performed on a file with a user-mapped section open)
После того, как я закрою Jetty, это сэкономит только штраф. Это происходит каждый раз.
Любые идеи, что я могу делать неправильно? Спасибо заранее.