Почему при импорте двух спецификаций с тестовыми зависимостями импортируется неправильная версия зависимостейJAVA

Программисты 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»