IntelliJ 12 - maven多模块无法解决传递依赖性

时间:2013-01-03 09:20:22

标签: intellij-idea

我已经导入了maven多模块项目,并且没有解决一些传递依赖项。这个项目在Jenkins / Eclipse / Console中构建。

我已经尝试了两个单独导入每个项目,并且还只导入父pom - 两者都不起作用。

我有以下结构:Project AProject 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>

项目-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

2 个答案:

答案 0 :(得分:8)

这似乎是IntelliJ 12中的一个错误。请参阅http://youtrack.jetbrains.com/issue/IDEA-98425,如果对您有用,请投票支持该问题。

答案 1 :(得分:1)

http://youtrack.jetbrains.com/issue/IDEA-98425中提及的对我和其他人有用的解决方法是转到“设置 - Maven - 多项目构建失败策略”。将其设置为“最后失败”。