Некоторые из наших CSS-файлов содержат параметры, которые могут варьироваться в зависимости от места развертывания (dev, QA, prod). Например:
background: url(#DOJO_PATH#/dijit/themes...)
, чтобы избежать жесткого кодирования пути к определенной CDN или локальной установке Dojo.
Эти значения текстуально заменяются действительными значениями сценарием развертывания, когда он копирует содержимое веб-приложения в каталог веб-приложений Tomcat. Таким образом, один и тот же файл архива развертывания (файл WAR + TAR, содержащий другую конфигурацию) может быть развернут в dev, QA и prod, с различными параметрами, предоставляемыми файлами конфигурации для конкретной среды.
Однако я бы хотел сделать содержимое WAR (включая шаблоны CSS-файлов) независимым от этого сценария внутреннего развертывания. Поскольку мы не можем контролировать сценарий развертывания, все, что я могу сделать, - это настроить Tomcat с #DOJO_PATH#
и т. Д. В качестве переменных среды в context.xml приложения и использовать Tomcat для вставки этих параметров в CSS во время выполнения .
Я мог бы превратить CSS-файлы в сгенерированные JSP, но мне это немного уродливо. Более того, замену необходимо выполнять только один раз для каждого развертывания приложения, поэтому многократное динамическое создание таблиц стилей с использованием JSP будет довольно расточительным.
У кого-нибудь есть альтернативные идеи или инструменты для этого? Мы привержены Tomcat и замене этих параметров при развертывании или во время выполнения (т. Е. Не во время сборки).