Я пытаюсь следовать рекомендациям при определении данных в pom.xml, так что я начал смотреть в исходный код Spring, и я видел:Maven - транзитивные зависимости
<project xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<packaging>jar</packaging>
<version>3.1.1.RELEASE</version>
.....
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
---
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<scope>test</scope>
</dependency>
-----
Но, весна-бобы также имеет зависимость от log4j.
Не могли бы вы рассказать мне, для методов наилучшей практики, в какой степени вы должны полагаться на транзитивные зависимости?
Я спрашиваю об этом, потому что моя первая мысль заключалась в том, чтобы не обновлять зависимость log4j, поскольку весна-бобы уже объявили об этом.
Привет devBinnoh, касающееся «log4j это объявить для„теста“сферы, и она не будет частью доработанной продукции (баночки/войны ...). Таким образом, когда весенне бобы зависят от log4j для своего теста (scope), что не означает, что существует транзитивная зависимость для проектов, использующих весенние бобы в предоставленных или исполняемых средах (областями). »: Я проверил и все работает правильно, если вы полагаетесь на факт что зависимость junit транзитивна. Может ли это быть каким-то другим объяснением для использования весны? – Roxana
Да, ты прав. Log4j в этом случае полагается на транзитивную зависимость. Зачем?! Вот вторая часть, которая является транзитивной зависимостью через «Управление зависимостями». когда вы «не укажете» номер версии зависимости, вы полагаетесь на «другие», чтобы указать ее, следовательно, это функциональная зависимость. Первая часть моего ответа заключалась в том, чтобы указать области этих зависимостей, зная, что области могут быть транзитивными только по их областям. Однако, по весне, я думаю, что вторая часть применима. – devBinnooh