Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Проблема управления зависимостями Maven

Автор вопроса: user898465Ответов: 1

У меня есть проект с несколькими pom, родительский pom импортирует внешний модуль как таковой. Этот внешний модуль использует определенные классы Saxon, я импортирую его как таковой:

        <dependency>
            <groupId>org.test</groupId>
            <artifactId>test-framework</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

В дочернем pom мы импортируем его как таковой:

    <dependency>
        <groupId>org.test</groupId>
        <artifactId>test-framework</artifactId>
        <scope>provided</scope>
    </dependency>

У меня сложилось впечатление, что если вы импортируете его как таковой в родительский модуль, все транзитивные зависимости внешнего модуля будут импортированы. Когда я создаю свой проект, саксонские классы отсутствуют, и единственный способ заставить их появиться - это явно вытащить их в моем pom. Разве это не противоречит точке транзитивного разрешения зависимостей. я собираюсь явно вытащить все транзитивные зависимости в любом проекте, который импортирует этот внешний модуль?

javamavendependency-management

Ответы

Ответ 1 · AlexanderW

Вы пытались изменить область зависимости?

<dependency>
    <groupId>org.test</groupId>
    <artifactId>test-framework</artifactId>
    <scope>compile</scope>
</dependency>

Это должно сделать работу.

Читайте об областях зависимости здесь:

https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы