Строковая замена знатока текстовых веб-ресурсов

У меня есть веб-приложение Знатока с текстовыми файлами в

src/main/webapp/textfilesdir

Насколько я понимаю во время фазы пакета этот textfilesdir каталог будет скопирован в

target/project-1.0-SNAPSHOT

каталог, который затем заархивирован в a

target/project-1.0-SNAPSHOT.war

Проблема

Теперь, я должен сделать строковую замену на содержании текстовых файлов в target/project-1.0-SNAPSHOT/textfilesdir. Это должно затем быть сделано после того, как textfilesdir копируется в target/project-1.0-SNAPSHOT, но до target/project-1.0-SNAPSHOT.war создаваемый файл. Я полагаю, что это все сделано во время фазы пакета.

Как может плагин (потенциально maven-antrun-plugin), включить фазу пакета, чтобы сделать это.

Текстовые файлы не содержат свойства, как $ {имя свойства} для фильтрации на. Строковая замена вероятна единственная опция.

Опции

  1. Измените текстовые файлы после копии в target/project-1.0-SNAPSHOT каталог, все же до ВОЕННОГО создания.

  2. После упаковки извлеките текстовые файлы из ВОЙНЫ, измените их и добавьте их назад в ВОЙНУ.

Я думаю, что существует другая опция здесь, я отсутствую. Мысли кто-либо?

16
задан Pascal Thivent 10 June 2010 в 21:42
поделиться

1 ответ

Вариант 1 невыполним, prepare-package слишком рано, пакет слишком поздно, поэтому я не вижу, где вы могли бы подключить любой нестандартная работа. Вариант 2 выполнимый, но болезненный ИМО. Итак, вот еще несколько предложений (все основаны на AntRun и задачах ReplaceRegExp и / или Replace ).

Решение 1:

  1. Создайте новую папку, в которую вы поместите текстовые файлы, которые необходимо обработать.
  2. Привяжите плагин antrun к prepare-package и настройте его для обработки файлов и помещения обработанных файлов в какой-либо каталог в target (например, target / textfilesdir ]).
  3. Настройте плагин war, чтобы включить target / textfilesdir в качестве веб-ресурса . См. Добавление и фильтрация внешних веб-ресурсов для получения подробной информации.

Решение 2:

  1. Привяжите плагин antrun к prepare-package и настройте его для обработки текстовых файлов из src / main / webapp / textfilesdir и поместите обработанные файлы в target / project-1.0-SNAPSHOT .
  2. Настройте плагин war, чтобы исключить ранее обработанные файлы. Снова обратитесь к Добавление и фильтрация внешних веб-ресурсов за подробностями.

Я бы выбрал второе решение.

4
ответ дан 30 November 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: