Почему при импорте двух спецификаций с тестовыми зависимостями импортируется неправильная версия зависимостей ⇐ JAVA
-
Гость
Почему при импорте двух спецификаций с тестовыми зависимостями импортируется неправильная версия зависимостей
У меня есть 2 проекта, проект A и проект B, каждый из которых импортирует testcontainer-bom, но с разными версиями, в родительский pom.xml:
проект А:
... модуль1 модуль2 проект-бом org.testcontainers testcontainers-bom 1.16.3 пом импорт ... и модули следующие:
модуль1:
... org.testcontainers тестовые контейнеры тест ... модуль2:
... org.testcontainers postgresql тест ... и
проект-бом:
pom com.projecta модуль1 ${project.version com.projecta модуль2 ${project.version проект Б:
com.projecta проект-бом 0.0.1 пом импорт org.testcontainers testcontainers-bom 1.18.3 пом импорт Когда я собираю проект B, я получаю testcontainers:jdbc и testcontainers:postgresql версий 1.16.3. Я понимаю, что если один и тот же артефакт определен с разными версиями в двух импортированных спецификациях, то победит версия в файле спецификации, которая была объявлена первой, но мне неясно, почему зависимости тестового контейнера из проекта A импортируются в первую очередь. , учитывая, что у них есть область тестирования.
Я делаю что-то не так? или я неправильно понимаю, как работают области зависимостей и спецификации?
редактировать: если быть более конкретным, почему зависимости с тестом не извлекаются из projecta-bom?
Версия maven: 3.8.4 версия Java: 17.0.7
У меня есть 2 проекта, проект A и проект B, каждый из которых импортирует testcontainer-bom, но с разными версиями, в родительский pom.xml:
проект А:
... модуль1 модуль2 проект-бом org.testcontainers testcontainers-bom 1.16.3 пом импорт ... и модули следующие:
модуль1:
... org.testcontainers тестовые контейнеры тест ... модуль2:
... org.testcontainers postgresql тест ... и
проект-бом:
pom com.projecta модуль1 ${project.version com.projecta модуль2 ${project.version проект Б:
com.projecta проект-бом 0.0.1 пом импорт org.testcontainers testcontainers-bom 1.18.3 пом импорт Когда я собираю проект B, я получаю testcontainers:jdbc и testcontainers:postgresql версий 1.16.3. Я понимаю, что если один и тот же артефакт определен с разными версиями в двух импортированных спецификациях, то победит версия в файле спецификации, которая была объявлена первой, но мне неясно, почему зависимости тестового контейнера из проекта A импортируются в первую очередь. , учитывая, что у них есть область тестирования.
Я делаю что-то не так? или я неправильно понимаю, как работают области зависимостей и спецификации?
редактировать: если быть более конкретным, почему зависимости с тестом не извлекаются из projecta-bom?
Версия maven: 3.8.4 версия Java: 17.0.7
Мобильная версия