Maven - 如何在父项目的pom中添加模块作为依赖项

时间:2013-02-19 14:34:25

标签: eclipse maven m2e

我有this问题中提到的情况。

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

  1. 我错误地添加了B项目吗?因为它没有任何pom吗?
  2. 如何在引用的问题中提到的主项目的pom文件中添加B作为依赖项?
  3. 编辑:添加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,所以在这种情况下,我想我需要在父节点中添加A.这是父母的pom

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

    customAdaptor-ra是项目A

1 个答案:

答案 0 :(得分:4)

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

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

如果project2取决于project1,则需要在project2的pom.xml中为其定义<dependency/>