Как настроить каталог развертывания веб-приложений в Jetty - PullRequest
4 голосов
/ 10 августа 2011

Это, должно быть, очень простой ответ, но я просто не могу его найти!

Я только начал использовать Jetty 7.0.2 на CentOS 5.5 и развернул webapp с настройками по умолчанию (просто поместив мой файл WAR в /webapps каталог). Когда Jetty запускается, она извлекает войну в каталог /tmp/jetty {thing-warfilename-etc}.

Я понимаю, что в Jetty есть множество пользовательских конфигураций, которые могут быть реализованы, но сейчас я просто заинтересован в установке местоположения извлеченных военных файлов, чтобы я мог безопасно изменять .properties файлы и т. Д. На лету.

Заранее спасибо!

Ответы [ 2 ]

6 голосов
/ 22 сентября 2011

Почему бы просто не поместить распакованный военный файл в webapps/?

Как их документы говорят , если Jetty найдет каталог в $JETTY_HOME/webapps/, он будетсчастливо развернуть его как веб-приложение сервлета.Затем вы можете настроить файл свойств без изменения каких-либо настроек Jetty.

Это также означает, что вам не нужно беспокоиться о том, что Jetty перезаписывает любые изменения в файлах свойств, когда у вас новая версия приложения (хотя вывсе же надо быть осторожным с этим).

3 голосов
/ 04 февраля 2013

Я знаю, что этот вопрос старый, но я хотел получить ответ, который был параметром конфигурации, а не распакованным решением WAR.Конфигурационное решение заключается в добавлении следующего параметра в WebAppProvider (в 8.1.8, это в jetty-webapps.xml):

<Set name="tempDir"><New class="java.io.File"><Arg>/usr/local/jetty-8.1.8/work</Arg></New></Set>

, чтобы общий конфигурационный файл читал что-то вроде:

<Configure id="Server" class="org.eclipse.jetty.server.Server">
    <Ref id="DeploymentManager">
          <Call id="webappprovider" name="addAppProvider">
            <Arg>
              <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
                <Set name="monitoredDirName"><Property name="jetty.home" default="." />/webapps</Set>
                <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
                <Set name="scanInterval">1</Set>
                <Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set>
                <Set name="extractWars">true</Set>
                <Set name="tempDir"><New class="java.io.File"><Arg>/usr/local/jetty-8.1.8/work</Arg></New></Set>
              </New>
            </Arg>
          </Call>
    </Ref>
</Configure>
...