【问题标题】:IntelliJ 12 - maven multimodule cannot resolve transitive dependenciesIntelliJ 12 - Maven 多模块无法解决传递依赖关系
【发布时间】:2012-12-17 15:25:31
【问题描述】:

我已经导入了 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 个依赖 jar,而右侧只有两个。两个视图都显示同一个项目:

现在来自Project A的相同截图

【问题讨论】:

标签: intellij-idea


【解决方案1】:

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

【讨论】:

  • 这是一个严重的问题,使我无法使用 intellij - 他们应该尽快解决这些问题而无需任何投票......但我会投票;)
【解决方案2】:

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

【讨论】:

  • 就我(和其他一些人)而言,它没有帮助
  • 之后我也再次失败了:(经过一些冗长的“巫毒”实践(不确定有用的部分是什么)切换“使用 maven 3 进行导入”、“Maven 项目工具窗口” - 从命令行重新导入所有 maven 项目”,“mvn install”,重新打开项目,同步项目,“设置 - maven - 存储库 - 选择本地 - 更新”,使缓存无效,“重建项目”它再次随机工作。
  • 是的....我尝试过类似的方法。过了一会儿,我的项目能够编译,但我无法再次破坏它……即使删除了强制依赖项……真是废话……
  • 应该在 12.0.3 中修复。 12.0.2 昨天刚刚发布。
猜你喜欢
  • 2016-03-10
  • 1970-01-01
  • 2019-11-17
  • 2021-02-19
  • 2021-03-24
  • 2019-09-18
  • 2013-06-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多