Maven依赖关系解决方案

问题描述:

我有两个maven项目A和B,我正在积极研究源代码。项目A依赖于B.如果我想构建项目A,是否需要在存储库中存在B的快照(或发布)?或者将maven检查A的父目录以查看项目B是否存在(假设我的目录结构如下所示:projects/A projects/B)?哪一个会更好?谢谢。Maven依赖关系解决方案

杰夫

Maven的,没有地方再看看,除了你指定的仓库层次,默认情况下这是你的.m2目录(本地存储库)和Maven的*仓库。

所以,某些版本的B必须存在于一个存储库中。

您也可以调查项目模块,例如您拥有项目/ pom.xml以及构建项目模块时,它还会根据它们之间的相互依赖性以正确的顺序构建其子项A和B,但是您不应该把这看作是你所描述的问题的一种解决方案,而不需要考虑很多。

+2

m2 eclipse插件也将在工作区中查找。 – 2009-06-21 15:38:13

为了获得一个良好的把握如何Dependency Mechanism作品Maven和如何配置亲子/子模块/子项目关系读this

Maven是一个奇怪的构建工具,它会寻找到Maven仓库/瓶子的artifactory。只要有人构建了ProjectB并将其安装在Artifactory中,或者只要您已经构建了ProjectB(安装),ProjectA就可以使用它。

这也假定您已经在ProjectA的pom文件中正确设置了依赖性。

我在一个项目上使用了Maven,我将回到ant来获取更多标准的构建工具。这真的是一个奇怪的鸭子。

+0

为什么Maven使用*存储库“很奇怪”?这就是它设计的工作方式。 – sleske 2011-10-20 15:36:48