Скажем, у меня есть две зависимости Maven, определенные в проекте, как показано ниже.
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mycompany.library</groupId>
<artifactId>mylibrary</artifactId>
<version>1.0.1</version>
<scope>compile</scope>
</dependency>
Затем в моей библиотеке у меня также есть зависимость, определенная ниже.
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.3.1</version>
<scope>compile</scope>
</dependency>
Когда я упаковываю свой проект, я не вижу в нем пакет xstream. Я думаю, что область зависимости xstream проекта, "тест" переопределяет область зависимости mylibrary xstream, "компилирует".
В такой ситуации, какой лучший способ включить xstream для всего проекта, чтобы подмодуль мог иметь к нему доступ при упаковке в проекте?
Я прочитал объяснение веб-сайта Apache Maven в отношении транзитивных зависимостей, но я изо всех сил пытаюсь понять, что это значит, а также найти наилучшую практику в этой ситуации.