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.

questionAnswers(4)

yourAnswerToTheQuestion