2013-02-19 381 views
1

我在this问题中提到了一种情况。Maven - 如何在父项目的pom中添加模块作为依赖关系

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

  1. 我是否错误地添加了项目B?因为它没有任何绒球?
  2. 如何在引用的问题中提到的在主项目的pom文件中添加B作为依赖关系?

编辑:添加劲歌和代码

这里是一个项目的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> 

nowwhere已B的依赖提及。这里是B的项目A.

import BPackage.*; 

参考这是怎么了我用的B A.

只有一个在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是项目中的

回答

2

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

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

如果project2取决于project1,你需要定义一个<dependency/>将其项目2的pom.xml里面。

+2

只是澄清,对project1的依赖应该在project2的pom中,而不是在父pom中。 – 2013-02-19 16:12:42

+0

+1:应用于回答。 – carlspring 2013-02-19 17:07:46

+0

项目2(B)在项目1(A)中的依赖性没有在项目2的团队中提到。我正在使用m2e 1.2.0。我在问如何添加它,我正在添加一个项目的pom和主项目的pom – shabby 2013-02-20 05:53:37

相关问题