Мне потребовалось несколько шаблонов для рендеринга некоторого кода для вставки пользователями.Я поместил их в
/project-dir/grails-app/resources/templates/quickInstallCode.html
Затем я попытался получить к ним доступ, используя их относительный путь (grails-app/resources/templates/quickInstallCode.html
), и он отлично работал.
Когда мы затем развернули приложение на сервере Tomcat,используя файл .war, пути начали указывать на неправильное местоположение.
ERROR call, Template file /var/lib/tomcat6/grails-app/resources/templates/quickInstallCode.html not found.
Я предполагал, что Grails, предоставляя хорошие значения по умолчанию для всего, справится с этим беспорядком для меня, но, похоже, это не так.
Я также пробовал этот вызов, и он, кажется, работал отлично, но при развертывании BuildSettingsHolder не содержал параметров сборки, что приводило к фатальной ошибке.
BuildSettingsHolder.settings.baseDir.toString()
http://grails.org/doc/latest/api/grails/util/BuildSettingsHolder.html http://grails.org/doc/latest/api/grails/util/BuildSettings.html
Я очень разочарован тем, что не могу выполнить эту простую задачу, но причина, по которой это так сложно, заключается в том, что все файлыинкапсулированы в WAR и не распакованы на сервере.
Итак, вопросы:
- Где в вашем проекте вы бы поместили файлы, подобные этим?
- Как получить надежный и стабильный способ доступа к этим файлам?Мне просто нужен стабильный путь к базовому каталогу, без необходимости что-то жестко кодировать в конфигурации ... Это не может быть так сложно.