我已经导入了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个依赖的罐子,而右侧只有两个。两个视图都显示相同的项目:
现在来自Project A
答案 0 :(得分:8)
这似乎是IntelliJ 12中的一个错误。请参阅http://youtrack.jetbrains.com/issue/IDEA-98425,如果对您有用,请投票支持该问题。
答案 1 :(得分:1)
在http://youtrack.jetbrains.com/issue/IDEA-98425中提及的对我和其他人有用的解决方法是转到“设置 - Maven - 多项目构建失败策略”。将其设置为“最后失败”。