我有这个问题中提到的情况。
我有一个多模块 Maven 项目,它有一个父项目 P 和两个子模块 A 和 B。当我只有 A 作为子模块时,它工作得很好。我在主项目中添加了一个新的源文件夹,创建了一个包并添加了一个类(我在这里做错了吗?),我们称之为模块 B。现在我将包 B 中的类导入包 A 中的一个类中,但是A 的 pom 没有更新以包含 B 作为依赖项,因此当我尝试 mvn 编译父项目时,它会给出错误未定义符号 B。
- 我是否错误地添加了项目 B?因为它里面没有任何pom?
- 如引用问题中所述,如何在主项目的 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