Как удалить комментарии из файла свойств с помощью сборки maven?

Предположим, у меня есть следующее в моем файле свойств

#production db
db.url=com.some.prod.url
db.port=4565

#development db
#db.url=com.some.dev.url
#db.port=4577

После завершения сборки я хочу, чтобы мой файл свойств был очищен от всех прокомментированных свойств в файле сборки. Итак, окончательный результат таков:

db.url=com.some.prod.url
db.port=4565

А в чем проблема с комментариями в файлах свойств?

khmarbaise 18.12.2018 20:43

не хочу показывать свойства, связанные с производством, на серверах dev / qa и наоборот.

being_ethereal 19.12.2018 21:17
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
416
2

Ответы 2

Вы можете попробовать Maven Antrun Plugin и задачу Ant replaceregexp

позволь мне проверить и вернуться

being_ethereal 20.12.2018 09:37

Разобрался наконец. Использовал maven-replacer-plugin и заменил регулярное выражение <new line><hash><any set of characters>, то есть \r\n#(.*) на <blank>

Обновлять: чтобы иметь возможность выполнить это на jenkins (экземпляр linux, в моем случае), мы добавили шаблон \n#(.*)

       <plugin>
            <groupId>com.google.code.maven-replacer-plugin</groupId>
            <artifactId>replacer</artifactId>
            <version>1.5.2</version>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>replace</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <includes>
                    <include>target/**/*.properties</include>
                </includes>
                <commentsEnabled>false</commentsEnabled>
                <regex>true</regex>
                <replacements>
                    <replacement>
                        <token>\r\n#(.*)</token>
                        <value></value>
                    </replacement>
                    <!-- Following line was added in update(linux compatible) -->
                    <replacement>
                        <token>\n#(.*)</token>
                        <value></value>
                    </replacement>
                </replacements>
            </configuration>
        </plugin>

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