Apache Maven фильтры для свойств pom - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь создать фильтры для свойств.На самом деле это просто POC.Фоновая версия предназначена для тестирования версий зависимостей без необходимости обновлять pom.Не уверен, что это правильный путь.Я могу использовать тег filters, чтобы интерполировать значения в другом файле в сочетании с установкой фильтрации на true:

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

<filters>
    <filter>src/main/filters/dev-app.properties</filter>
</filters>

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
    </resource>
</resources>

Что я хочу сделать, так это перезаписать значения в самом файле pom.xml.Так что, если, скажем, у меня есть <dep.hibernate.version>, и в pom это в версии 5.4.0.final, но я хочу во время сборки получить последнюю версию 5.4.2.final.Есть ли способ использовать фильтры для переопределения этого значения в pom.xml.

Я думал, что это возможно, основываясь на комментарии здесь:

http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html

Например, мы можем отделить «your.name» от POM, указав файл фильтра my-filter-values.properties, содержащий

Обновление для ясности

Версия моего проекта находится под моим контролем с различными механизмами и плагинами.Я могу использовать maven для управления этим без проблем.

То, что я пытаюсь сделать, - это преодолеть жесткость версии maven для внешних сторонних версий.Таким образом, для проекта я мог бы иметь:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!-- Properties for project -->
    <dep.commons.math3.version>3.2</dep.commons.math3.version>
</properties>

Это затем используется следующим образом:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-math3</artifactId>
            <version>${dep.commons.math3.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...