1

我有这个问题中提到的情况。

我有一个多模块 Maven 项目,它有一个父项目 P 和两个子模块 A 和 B。当我只有 A 作为子模块时,它工作得很好。我在主项目中添加了一个新的源文件夹,创建了一个包并添加了一个类(我在这里做错了吗?),我们称之为模块 B。现在我将包 B 中的类导入包 A 中的一个类中,但是A 的 pom 没有更新以包含 B 作为依赖项,因此当我尝试 mvn 编译父项目时,它会给出错误未定义符号 B。

  1. 我是否错误地添加了项目 B?因为它里面没有任何pom?
  2. 如引用问题中所述,如何在主项目的 pom 文件中添加 B 作为依赖项?

编辑:添加 poms 和代码

这是项目A的pom

<dependencies>
    <dependency>
      <groupId>javax.slee</groupId>
      <artifactId>jain-slee</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mobicents.servers.jainslee.core</groupId>
      <artifactId>fault-tolerant-ra-api</artifactId>
      <version>2.6.0.FINAL</version>
    </dependency>
    <dependency>
      <groupId>org.mobicents</groupId>
      <artifactId>hello-slee-world-sbb</artifactId>
      <version>1.0</version>
    </dependency>
</dependencies>

现在它提到了 B 的依赖关系。这是项目A中B的参考。

import BPackage.*;

这就是我在 A 中使用 B 的方式。

BPackage 中只有一个类名为 BClass。现在我问我是否错误地添加了包,即我需要添加一些东西吗?以便创建它的 pom 并将其依赖项添加到 A.

此外,我想在编译父级时同时构建 B 和 A,所以在这种情况下,我想我也需要在父级 pom 中添加 A。这是父母的pom

  <modules>
    <module>sbb</module>
    <module>customRAType-ratype</module>
    <module>customAdaptor-ra</module>
    <module>du</module>
  </modules>

customAdaptor-ra 是项目 A

4

1 回答 1

5

您的每个项目都需要有一个 pom.xml。顶层项目需要有

<modules>
   <module>project1</module>
   <module>project2</module>
</modules>

如果project2依赖,则需要在 project2 的 pom.xml 中对其project1定义一个。<dependency/>

于 2013-02-19T15:33:45.067 回答