我已经导入了maven多模块项目,并且没有解决一些传递依赖项.这个项目在Jenkins/Eclipse/Console中构建.
我已经尝试了两个单独导入每个项目,并且还只导入父pom - 两者都不起作用.
我有以下结构:Project A
并且Project B
具有公共父级,并且两者都被定义为此父级中的模块.Project A
包含作为依赖项jackon-jar,Project B
没有它.Project A
包含默认范围内的jackson-jar - jar在编译期间可见并且测试正在运行.现在Project B
进口Project A
,也使用杰克逊罐 - 这里是问题 - 杰克逊罐在不可见的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>
Run Code Online (Sandbox Code Playgroud)
项目-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>
Run Code Online (Sandbox Code Playgroud)
项目-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>
Run Code Online (Sandbox Code Playgroud)
下面是我真实项目的截图 - 这将Project B
来自上面的简化示例.在左侧我们可以看到,它resteasy-jackoson-provider
有4个依赖的罐子,而在右侧只有两个.两个视图都显示相同的项目:
现在来自的截图相同 Project A
这似乎是IntelliJ 12中的一个错误.请参阅http://youtrack.jetbrains.com/issue/IDEA-98425,如果对您来说很重要,请投票支持该问题.
归档时间: |
|
查看次数: |
6407 次 |
最近记录: |