Блокировка файлов плагина Gradle Jetty

Есть ли способ исправить проблему блокировки файла, вызванную jetty, полностью из gradle?

Некоторые пояснения:
При использовании подключаемого модуля Gradle Jettyпутем запуска gradle jettyRunjetty вызывает блокировку файлов статических ресурсов (html, css, js и т. д.) при использовании Windows. Описание проблемы можно посмотреть в Файлы заблокированы в Windows.

В той же статье также описано, как это можно исправить. По сути, вы должны либо:

  1. Отключить использование файлового буфера
  2. Не использовать NIO вообще.

И то, и другое требует добавления в проект некоторых конфигурационных файлов, специфичных для причала, чего я не хочу делать — подключаемый модуль причала используется только для удобства, и сохранение конфигурации для него кажется неправильным.

Мне не нужен NIO для тестирования на локальной машине, так что подойдет любое решение.

Изменить:

На данный момент я выбрал вариант, в котором вы устанавливаете useFileMappedBufferна false. Вот как это сделать:

  1. Укажите путь к вашему webdefault.xmlлайку

    [jettyRun, jettyRunWar,jettyStop]*.with {
     //другие конфиги
    
    webDefaultXml = файл ("${project.webAppDir}/WEB-INF/jetty-webdefault.xml")
    }
    
  2. Получить файл из последней версии 6.1.x причала. Похоже, что плагин поддерживает только jetty 6. Вы можете найти его по адресу jetty-6.1.26\etc\webdefault.xml. Очевидно, вы должны разместить его по пути, указанному на предыдущем шаге.

  3. Измените параметр инициализации сервлета по умолчанию useFileMappedBufferна false

Я изучу возможность использования встроенного причала вместо подключаемого модуля.

8
задан jmruc 18 June 2012 в 09:58
поделиться