2012-10-15 29 views
7

如上所述,依赖性:在我的我的项目树的目标抱怨的依赖版本缺少的依赖是已经在父pom的依赖管理部分声明。请注意,所涉及的依赖关系是一个新的依赖关系,仅添加到管理部分。dependencies.dependency.version缺少

回答

23

的确,父pom已经在依赖管理部分中包含了依赖声明。但没有考虑到这一点。为此,我们应该执行命令在本地maven仓库中安装pom文件。

mvn -f <the absolute path to the parent's pom file> install -N

要知道,当Maven解决依赖,它总是会在回购已有POM文件。相反,本地文件不会被考虑在内。

6

我会加入这个为王辉的回答评论,但由于某些原因似乎注释禁用。

不管怎么说,在我的情况,我不得不使用下面的命令:

mvn -f <path to the parent's pom file> install -N 

我使用Maven 3,所以也许这是不同的Maven 2.

我无法得到回族命令在没有-f的情况下工作,并且父代文件路径不必是绝对的(相对和绝对工作)。

+1

感谢菲利克斯,你是对的。应该添加-f选项以指示pom文件。 –

8

Maven抱怨丢失依赖关系的另一个原因是,当在父pom中声明的依赖项具有<类型>时,它与子pom正在查找的类型不对应。