Хобрук: Ваш путь к мастерству в программировании

Как использовать плагин-заменитель Google Maven для замены строки ${версия}?

Я использую версию 1.5.3 плагина-заменителя Maven. Я хочу заменить строку «${версия}» в моем файле свойств, который содержит строку

application.version=${version}

с фактическим элементом ‹version›, определенным в моем файле pom. Я пытаюсь это сделать, но безуспешно:

                <execution>
                    <id>replace-application-version</id>
                    <phase>compile</phase>
                    <configuration>
                        <file>${project.build.outputDirectory}/application.properties</file>
                        <replacements>
                            <replacement>
                                <token>\${version}</token>
                                <value>${version}</value>
                            </replacement>
                        </replacements>
                    </configuration>
                    <goals>
                        <goal>replace</goal>
                    </goals>
                </execution>

Я не знаю, как правильно экранировать строку «${версия}» в блоке «токен». Любая помощь приветствуется.


  • Лучше использовать maven-resources-plugin и фильтровать что проще. 25.06.2014
  • Если вы можете показать, как управлять фазой запуска плагина ресурсов, делая все остальное таким же, я приму ваш ответ. 25.06.2014

Ответы:


1

Чтобы плагин-заменитель Maven искал строку «${version}» как токен, не заменяя ее значением свойства, вы можете указать токен как регулярное выражение, добавив <regex>true</regex>, и оставить его таким:

<execution>
    <id>replace-application-version</id>
    <phase>compile</phase>
    <configuration>
        <file>${project.build.outputDirectory}/application.properties</file>
        <regex>true</regex>
        <replacements>
            <replacement>
                <token>\$\{version\}</token>
                <value>${version}</value>
            </replacement>
        </replacements>
    </configuration>
    <goals>
        <goal>replace</goal>
    </goals>
</execution>
20.03.2018
Новые материалы

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

стройный-i18следующий
Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..

Обзор 20 основных и современных методов работы с массивами в JavaScript
Вы знаете их всех? В этом коротком посте я покажу сводку методов, доступных в JavaScript для работы с массивами. Я надеюсь, что вы найдете это полезным! В конце поста вы найдете ссылку на..

Да, но я чувствую необходимость указать, что это или не единственные два.
Да, но я чувствую необходимость указать, что это или не единственные два. Обучение с подкреплением (в качестве примера) также является важным.