Не удается указать диапазоны версий в области импорта управления зависимостями maven - PullRequest
0 голосов
/ 20 мая 2019

У меня большой Java-проект, управляемый с помощью Maven. Мы используем Maven 3 для управления (в частности, 3.6.0).

В проекте есть под-проект с runtime-v5.pom.xml. В указанном pom есть свойство версии

<properties>
    <platform-v5.version>73.2.05</platform-v5.version>
</properties>

Который используется позже в файле

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.company.thing.platform</groupId>
            <artifactId>platform-parent</artifactId>
            <version>${platform-v5.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>com.company.release</groupId>
            <artifactId>platform-v5</artifactId>
            <version>${platform-v5.version}</version>
            <type>resolved-pom</type>
        </dependency>
    </dependencies>
</dependencyManagement>

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

Когда platform-v5.version настроен на конкретную существующую версию, он просто отлично собирается, но при установке версии в диапазон, такой как [73.2.05,), я получаю ошибки, такие как

[INFO] Scanning for projects...
[INFO] Downloading from all_global_universal: https://nexus.company/platform-parent/%5B73.2.05,).pom
[ERROR] Some problems were encountered while processing the POMs:
[ERROR] Non-resolvable import POM: Could not find artifact com.company.thing.platform:platform-parent:pom:[73.2.05,) in all_global_universal (https://nexus.company/content/groups/all_global_universal) @ com.company:runtime-v5:[unknown-version], path/to/runtime-v5.pom.xml, line XX, column YY
 @ 
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project com.company:runtime-v5:1.0.2 (path/to/runtime-v5.pom.xml) has 1 error
[ERROR]     Non-resolvable import POM: Could not find artifact com.company.thing.platform:platform-parent:pom:[73.2.05,) in all_global_universal (https://nexus.company/content/groups/all_global_universal) @ com.company:runtime-v5:[unknown-version], path/to/runtime-v5.pom.xml, line XX, column YY -> [Help 2]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

По сути, я хочу знать: Почему вы не можете предоставить диапазоны версий в области импорта управления зависимостями maven?

1 Ответ

0 голосов
/ 20 мая 2019

Хотя диапазоны версий не являются точно устаревшими, они больше не считаются лучшей практикой.Современным способом было бы запустить соответствующую цель обновления перед сборкой, чтобы номера версий в pom были самыми новыми из доступных.

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