Можете ли вы быть более конкретным и привести пример архитектуры (модуль, подмодули)?
Если у меня есть следующие модули:
- A: есть зависимость от зависимости x область компиляции
- B: есть зависимость от зависимости A область компиляции
Теперь я хочу, чтобы x находился в пути к классам и компилировался во время сборки A, но я не хочу, чтобы x в пути к классам B
Что ж, вы получите xв B, потому что это транзитивная зависимость, но вы можете легко исключить ее (когда вы объявите зависимость A в B), поэтому она не будет в пути к классам.
<dependencies>
<dependency>
<groupId>test.test</groupId>
<artifactId>B</artifactId>
<version>1.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>test.test</groupId>
<artifactId>x</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
Для получения дополнительной информации: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html