即使已经在其父pom文件的依赖关系管理部分中声明了依赖项,依赖项依赖于.dependency.version也会丢失

时间:2012-10-15 17:05:31

标签: maven dependency-management

如上所述,我的项目中的依赖关系:树目标抱怨已经在其父pom的依赖关系管理部分中声明的依赖关系缺少依赖关系版本。请注意,相关的依赖项是新的,只是添加到管理部分。

3 个答案:

答案 0 :(得分:24)

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

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

请注意,当maven解析依赖项时,它始终会查找repo中已有的pom文件。相反,不考虑本地文件。

答案 1 :(得分:9)

Maven抱怨缺少依赖性的另一个原因是在父pom中声明的依赖关系具有&lt;类型&GT;这与儿童pom寻找的类型并不对应。

答案 2 :(得分:6)

我会补充这一点作为对Hui Wang答案的评论,但由于某些原因,评论似乎已被禁用。

无论如何,在我的情况下,我不得不使用以下命令:

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

我正在使用maven 3,所以也许它与maven 2不同。

我不能让Hui的命令在没有-f的情况下工作,并且父pom文件的路径不必是绝对的(相对和绝对工作)。