有两个独立的项目( myWarProject
和MyEjbProject
)。 所以,当我建立myWarProject
我需要安装MyEjbProject
到本地存储库中,这样的话,我可以在myWarProject定义为依赖,并成功打包myWarProject。
有没有办法来处理这个没有安装MyEjbProject
分开,也没有定义父模块。
我知道这可以通过Ant构建来实现,但不知道是否有通过Maven来处理呢?
我们可以创建一个“聚甲醛”父项目和移动其他两个父项目下。 然而,不幸的是,我不能这样做,因为现在我们已经有了在CVS这两个作为单独的项目,我不能改变结构。 如果我可以通过POM文件处理这个问题,这是林寻找。
假设MyEjbProject不是另一个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项目,建设安装或安装它,你似乎已经做的方式。
如果是这样,然而,依赖对方,你总是可以创建一个单独的父项目(必须是一个“聚甲醛”项目)宣布两个其他项目的“模块”。 (子项目就不必申报第三个项目为他们的父母)。 因此你会得到新的父项目,在那里你想也很可能提出这样的两个独立的项目,一个新的目录:
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
现在你可能只是这样做(曾在行家2,刚刚试了一下):
<!--parent-->
<project>
<modules>
<module>../mywarproject</module>
<module>../myejbproject</module>
</modules>
</project>