【发布时间】:2012-12-17 15:25:31
【问题描述】:
我已经导入了 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>
项目-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的相同截图
【问题讨论】:
-
+1 详细而明确的问题
-
另见stackoverflow.com/a/11467266/32453(提示禁用“通过maven3导入”有帮助吗?)
标签: intellij-idea