если зависимость дерева выглядит следующим образом:
уточните, где я могу использовать классы из зависимости F
?
и укажите мне материалы для исследования этой вещи, пожалуйста.
Классы, определенные в F
, транзитивно доступны в A
и B
(и непосредственно доступны в E
). Большинство людей будут выступать за добавление F
в качестве прямой зависимости, если вы хотите повысить надежность. Это позволяет вам выбирать версию самостоятельно.
В Maven выигрывает "ближайшее" определение, что означает, что если вы заявляете зависимость от F
в A
, то это версия, которая входит в путь к классам, независимо от того, что требует E
Это может быстро усложниться - кто знает, может ли E
справиться с F-1.3.0
, когда он требует F-1.2.2
? Вы в конечном итоге полагаетесь на авторов программного обеспечения, чтобы сделать хорошую работу по поддержанию обратной совместимости.
Нормальная документация по зависимостям является хорошим местом для начала чтения. Также mvn dependency:tree
может быть полезно для изучения зависимостей в проекте.