假设MyEjbProject不是您拥有的另一个Maven项目或不是要使用Maven构建的Maven项目,则可以使用系统依赖项来链接到该项目的现有jar文件,如下所示
<project>
...
<dependencies>
<dependency>
<groupId>yourgroup</groupId>
<artifactId>myejbproject</artifactId>
<version>2.0</version>
<scope>system</scope>
<systemPath>path/to/myejbproject.jar</systemPath>
</dependency>
</dependencies>
...
</project>
也就是说,通常最好的方法是将软件包安装到存储库中,方法是使其成为Maven项目并进行构建或以您似乎已在执行的方式安装。
但是,如果它们相互依赖,则始终可以创建一个单独的父项目(必须是“ pom”项目),并将其他两个项目声明为其“模块”。(子项目不必将第三个项目声明为其父项目)。结果,您将为新的父项目获得一个新目录,您很可能还会在其中放置两个独立的项目,如下所示:
parent
|- pom.xml
|- MyEJBProject
| `- pom.xml
`- MyWarProject
`- pom.xml
父项目将获得一个“模块”部分来命名所有子模块。然后,聚合器将使用子模块中的依赖项来实际找出项目的构建顺序)
<project>
...
<artifactId>myparentproject</artifactId>
<groupId>...</groupId>
<version>...</version>
<packaging>pom</packaging>
...
<modules>
<module>MyEJBModule</module>
<module>MyWarModule</module>
</modules>
...
</project>
这样,项目可以相互关联,但是(一旦将它们安装在本地存储库中)仍然可以单独用作其他项目中的工件
最后,如果您的项目不在相关目录中,则可以尝试将它们指定为相对模块:
filesystem
|- mywarproject
| `pom.xml
|- myejbproject
| `pom.xml
`- parent
`pom.xml
现在您可以做到这一点(在Maven 2中工作,只需尝试一下):
<project>
<modules>
<module>../mywarproject</module>
<module>../myejbproject</module>
</modules>
</project>