исключая зависимость от общего проекта - PullRequest
1 голос
/ 23 декабря 2010

У меня сейчас три проекта, которые образуют цепочку зависимостей, Project A зависит от Project B зависит от Project C.

В Project B я пытаюсь исключить банку xml-apis, которая вызывает проблемы с weblogic. Я делаю так в Project B POM:

<dependency>
    <groupId>com.company</groupId>
    <artifactId>projectC</artifactId>
    <version>1.0.3-SNAPSHOT</version>
    <exclusions>
        <exclusion>
            <artifactId>xml-apis</artifactId>
            <groupId>xml-apis</groupId>
        </exclusion>
    </exclusions>
</dependency>

Однако, артефакт xml-apis все еще включается, когда я упаковываю Project A. Как правильно исключить этот xml-apis jar? Должен ли я найти, какой именно пакет в Project C приносит это, и пометить его как предоставленный там?

Прямо сейчас мой обходной путь - просто перечислить вышеуказанную зависимость в POM Project A.

EDIT:

Project A зависит от Project B и Project C. Поскольку Project B имеет зависимость от Project C и Project B никогда не будет использоваться без Project C, я надеялся не включать информацию о зависимостях в Project A и Project B.

Ответы [ 3 ]

2 голосов
/ 24 декабря 2010

Pom Project B заявляет, что он использует Project C, за исключением того, что ему (Project B) не нужен xml-apis.

Pom Project A также утверждает, что использует Project C, но, не говоря об этомне нужен xml-apis, поэтому maven предполагает, что он в них нуждается.

Вы можете добавить зависимость от xml-apis в Project A с указанием объема, что означает, что да, они нужны вам, но выВы хотите убедиться, что реализация доступна, и вы не хотите, чтобы maven включал их, или вы можете удалить зависимость Project A от Project C.

0 голосов
/ 11 января 2011

Вопрос не ясен, может быть ясен, но сбивает с толку. Просто сделайте mvn dependency:tree, проверьте и исключите нужную вам зависимость в правильном помпе, будь то A, B или C.

0 голосов
/ 23 декабря 2010

Проект B не зависит от A. Вставьте оператор исключений в pom b для зависимости C.

...