0

我有一个带有两个子模块 A 和 B 的 maven 父项目 P。A 和 B 都在 P 文件夹内。P 在pom.xml中有一个 modules 部分,类似于:

<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>

如果我mvn install在 P 上做一个,那么一切都很好。但是mvn eclipse:eclipse在 P 上运行后,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"/>

有什么问题?谢谢你。

4

1 回答 1

2

如果您将属性 useProjectReferences 设置为 false(使用 -DuseProjectReferences=false),那么它应该像您想要的那样工作(默认为 true)。在此处查看文档

于 2011-06-30T16:30:49.000 回答