Подтвердить что ты не робот

Как я прочитал дерево зависимостей Maven

У меня есть версия сервлета-api 2.5 в виде предоставленной области в pom.xml. Вот часть зависимости: tree output моего проекта. Что означает "версия, управляемая из 2.3, сфера, управляемая из компиляции", означает?

[INFO] +- commons-logging:commons-logging:jar:1.1:compile
[INFO] |  \- javax.servlet:servlet-api:jar:2.5:provided (version managed from 2.3; scope managed from compile)

Означает ли это, что существует некоторая транзитивная зависимость от версии 2.3 в моем пути к классам? У моего WAR файла вообще нет сервлета-api jar, но я использую старую версию Spring 2.5.4. Я подозреваю, что структура Spring зависит от servlet-api 2.3.

4b9b3361

Ответ 1

В основном сообщение означает, что version для сервлета-api будет транзитивно равняться 2.3 (так что в основном в commons-logging pom они определяют servlet-api с версией 2.3), но эта версия 2.5 была специально задана в вашем проекте, так что это было использовано.

То же самое касается области. В commons-logging pom определяется с областью compile, но вы определили ее с областью provided, поэтому снова это область, которая была использована.

Ответ 2

Это означает, что ваш проект переопределил version и scope из других зависимостей.