我已经导入了 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 in not visible in 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