Вопрос

Я использую Maven-War-Plugin для фильтрации некоторых ресурсов в Web-Inf. В основном вещи статические вещи, такие как:

var url = ${contextRoot}/save.json;

или же

<link href="static/css/layout-${buildNumber}.css"/>

Все работает фантастически. Моя проблема в том, что он создал кошмар разработки. Обычно я горячо развернут на местном Tomcat, и моя IDE обрабатывает копирование изменений (при сохранении) в целевой каталог. Но когда это произойдет, я получаю буквальную $ {свойство} в моем файле вместо того, что было изначально заменено военным плагином. Я бы предпочел тестировать представление/статические изменения ресурса на лету вместо перераспределения для каждого изменения.

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

Я использую Spring, и я был бы в порядке с использованием тем, фильтрации свойств темы, а затем использовал их для замены значений, на мой взгляд. Но как насчет JS/CSS/других статических вещей?

Есть ли способ иметь военный плагин «фильтр на лету»? Кто -нибудь может порекомендовать лучший способ сделать то, что я пытаюсь сделать? Я чувствую, что я смотрел на это слишком долго и имею туннельное зрение по этому поводу.

Это было полезно?

Решение 2

В конце концов я сохранил те же методы, но изменил свой подход для достижения этого.

Для JavaScript я положил все, что нужно отфильтровать в один файл константов:

// Constants.js

var BASE_URL = '${contextRoot}';

Причина этого в том, что Constants.js Файл будет очень редко изменен и избегает проблемы с перераспределением этого файла на лету.

Другим примером было использование ${buildNumber} Чтобы избежать кэширования ресурсов браузера между развертываниями. Я обнаружил, что добавление номера сборки к строке запроса работал так же хорошо:

<link href="static/css/layout.css?${buildNumber}"/>

Другие советы

Если вы используете Eclipse с M2E и M2E-WTP, вы можете получить фильтрацию веб-ресурсов на лету. Это объяснено здесь: https://community.jboss.org/en/tools/blog/2011/05/03/m2eclipse-wtp-0120-new-noteworthy

И демо -там: http://bit.ly/wgcd4j

Обратите внимание, что в этом видео пользовательский интерфейс Maven Profile Management поступает из JBOSS Tools 3.3.0.Beta1 (http://docs.jboss.org/tools/whatsnew/maven/maven-news-3.3.0.beta1.html )

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top