IntelliJ 12 - maven multimodule не может разрешать транзитивные зависимости - программирование

IntelliJ 12 - maven multimodule не может разрешать транзитивные зависимости

Я импортировал проект мультимодуля maven, и некоторые транзитивные зависимости не устранены. Этот же проект построен в Jenkins/Eclipse/Console.

Я попытался дважды импортировать каждый проект отдельно, а также импортировать только родительский pom - оба не работают.

У меня есть следующая структура: Project A и Project B имеют общий родительский элемент, и оба они определены как модули в этом родителе. Project A содержит в качестве иждивенца jackon-jar, Project B не имеет его. Project A содержит jackson-jar в области по умолчанию - jar отображается во время компиляции и тесты выполняются. Теперь Project B импортирует Project A, а также использует jackson-jar - и вот в чем проблема - jackson-jar в не видимой в Project B:( Когда я укажу его явно в Project B, все работает нормально, но оно должно появиться автоматически в качестве транзитивной зависимости от Project A......

Это обычная проблема? Есть ли обход?

Вот примеры POM:

Родитель:

<project ....>
    <modelVersion>4.0.0</modelVersion>

    <version>1.0-SNAPSHOT</version>
    <groupId>miklas.test</groupId>
    <artifactId>my-parent</artifactId>
    <packaging>pom</packaging>

    <modules>
        <module>my-project-a</module>
        <module>my-project-b</module>
        <module>my-project-c</module>
    </modules>
</project>

Project-A

<project ....>
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>miklas.test</groupId>
        <artifactId>my-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>my-project-a</artifactId>
    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jackson-provider</artifactId>
            <version>2.3.4.Final</version>
        </dependency>
    </dependencies>

</project>

Проект-B

<project >
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>miklas.test</groupId>
        <artifactId>my-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>my-project-b</artifactId>
    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>miklas.test</groupId>
            <artifactId>my-project-a</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>

</project>

Ниже приведен скриншот из моего реального проекта - это было бы Project B из упрощенного примера выше. С левой стороны видно, что resteasy-jackoson-provider имеет 4 зависимых баночки, а с правой стороны - только два. Оба представления показывают один и тот же проект:

enter image description here

Теперь тот же скриншот от Project A

enter image description here

4b9b3361

Ответ 1

Это, похоже, ошибка в IntelliJ 12. См. http://youtrack.jetbrains.com/issue/IDEA-98425 и, пожалуйста, проголосуйте за вопрос, если это важно для вас.

Ответ 2

Обходной путь, упомянутый в http://youtrack.jetbrains.com/issue/IDEA-98425, который работал у меня и других, - это перейти к "настройкам - политике отказа Maven - Multiproject build". Установите значение "Fail At End".