Получить файл относительно пути воспроизведения приложения - PullRequest
1 голос
/ 30 ноября 2011

Я создал Play! приложение и развернул его под TomCat. Это хорошо работает. Единственная проблема - это управление файлом свойств, который в данный момент находится в папке conf рядом с application.conf . Но по мере того, как клиент заменяет файл war, пользовательские свойства перезаписываются значениями по умолчанию, что приводит к ошибкам.

Теперь я хочу представить отдельный файл свойств, расположенный внутри папки webapps . Таким образом, я буду уверен, что мои клиенты не будут перезаписывать файл «случайно».

Таким образом, структура будет:

TomCat webapps:
    myPlayApp
    PlayConfig <-- here I want to place the config file

Итак, я хотел бы получить файл свойств примерно так:

getFile("../PlayConfig/app.properties");

Это очевидное не работает, но я не знаю, как этого добиться? Я думал получить его по http-адресу tomcat, но номер порта мой варьируется, так что, думаю, это тоже не сработает ...

ОБНОВЛЕНИЕ 2012-01-25:

На самом деле при использовании следующего кода:

Play.applicationPath.getPath();

Я получаю абсолютный путь при запуске проекта вне tomcat (поэтому не внутри файла war!)

При развертывании того же проекта на сервере TomCat я получаю следующий вывод:

W:\tomcat-5.5\webapps\MyTestProject\WEB-INF\application.

С этого момента я действительно могу использовать относительный путь.

1 Ответ

0 голосов
/ 30 ноября 2011

Я думаю, что при развертывании в контейнере сервлетов play использует / WEB-INF / application в качестве основного каталога.Попробуйте изменить путь относительно этой папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...