我有一个maven父项目P,有两个子模块A和B.A和B都在P文件夹中。 P在 pom.xml 中有一个类似于:
的模块部分<modules>
<module>A</module>
<module>B</module>
</modules>
A有(和B相同,除了工件):
<parent>
<groupId>some.group</groupId>
<artifactId>A</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
现在我通过添加到A的 pom.xml 来使A依赖于B:
<dependencies>
<dependency>
<groupId>some.group</groupId>
<artifactId>B</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
如果我在P上做mvn install
,那么一切都很好。但是,在P上运行mvn eclipse:eclipse
后,A中生成的 .classpath 文件不正确,Eclipse无法解析B中的依赖项。
生成的 .classpath 包括:
<classpathentry kind="src" path="/B"/>
而不是工作
<classpathentry kind="var" path="M2_REPO/some/group/B/0.0.1-SNAPSHOT/B-0.0.1-SNAPSHOT.jar"/>
可能有什么不对?谢谢。
答案 0 :(得分:2)
如果将属性useProjectReferences设置为false(使用-DuseProjectReferences = false),那么它应该可以正常工作(默认为true)。请参阅文档here