Zależność maven w zależności od innego zakresu
Powiedzmy, że mam dwa zależności Mavena zdefiniowane w projekcie, jak poniżej.
<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>
Następnie, wewnątrz mylibrary, mam również zależność zdefiniowaną poniżej.
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.3.1</version>
<scope>compile</scope>
</dependency>
Kiedy pakuję swój projekt, nie widzę w nim pakietu xstream. Myślę, że zakres zależności xstream projektu, 'test' nadpisuje zakres zależności xstream mylibrary, 'compile'.
W takiej sytuacji, jaki jest najlepszy sposób włączenia xstream do całego projektu, aby podmoduł mógł mieć do niego dostęp po zapakowaniu w ramach projektu?
Przeczytałem wyjaśnienie strony Apache Maven na temat zależności przechodnich, ale staram się zrozumieć, co to znaczy, a także znaleźć najlepszą praktykę w tej sytuacji.