Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将父对象的父对象放在Maven中的结果是什么_Maven_Parent_Pom.xml - Fatal编程技术网

将父对象的父对象放在Maven中的结果是什么

将父对象的父对象放在Maven中的结果是什么,maven,parent,pom.xml,Maven,Parent,Pom.xml,我在Maven POM文件中有: 工件A是工件B 工件B是工件C C能得到A的依赖项吗 一般来说,工件C的结果是什么 多谢各位 根据Maven依赖机制,子POM继承父POM的依赖关系 “可以从中收集依赖项的级别数量没有限制…” 因此,工件C将具有工件B和工件A的所有依赖项 问候 Jyotsna根据Maven依赖机制,子POM继承父POM的依赖关系 “可以从中收集依赖项的级别数量没有限制…” 因此,工件C将具有工件B和工件A的所有依赖项 问候 JyotsnaMaven项目继承(几乎)其父级

我在Maven POM文件中有:

  • 工件A是工件B
  • 工件B是工件C
C能得到A的依赖项吗

一般来说,工件C的结果是什么


多谢各位

根据Maven依赖机制,子POM继承父POM的依赖关系

“可以从中收集依赖项的级别数量没有限制…”

因此,工件C将具有工件B和工件A的所有依赖项

问候
Jyotsna

根据Maven依赖机制,子POM继承父POM的依赖关系

“可以从中收集依赖项的级别数量没有限制…”

因此,工件C将具有工件B和工件A的所有依赖项

问候 Jyotsna

Maven项目继承(几乎)其父级pom的所有元素,而父级pom又从其各自的父级pom继承,依此类推,直到超级pom(请参见)

是的,在a中定义的依赖关系将导致C中的依赖关系

但是请注意,在父项目中定义依赖项(而不是依赖项管理)通常是个坏主意,因为您无法阻止您的子项目继承它们,这可能会导致不必要的依赖项。因此,您最多应该在父级中包含测试和提供的作用域依赖项。

Maven项目继承(几乎)父级pom的所有元素,而父级pom又从其各自的父级继承,以此类推,直到超级pom(请参阅)

是的,在a中定义的依赖关系将导致C中的依赖关系


但是请注意,在父项目中定义依赖项(而不是依赖项管理)通常是个坏主意,因为您无法阻止您的子项目继承它们,这可能会导致不必要的依赖项。因此,您最多应该在父项目中包含测试和提供的作用域依赖项。

是的,依赖项继承自所有祖先项目。为了帮助确定项目的实际依赖关系,提供了目标。当执行
有效pom
目标时,Maven输出当前构建的有效pom,包括活动配置文件设置和考虑的所有父pom设置。要执行目标,只需运行:

mvn help:effective-pom
从输出中,您将看到当前构建所需的所有依赖项,直接的、继承的和可传递的


如果从C项目目录执行此操作,则输出将包含来自项目C的依赖项、来自项目B的任何继承依赖项,以及来自项目A

的任何其他继承依赖项是的,依赖项将从所有祖先项目继承。为了帮助确定项目的实际依赖关系,提供了目标。当执行
有效pom
目标时,Maven输出当前构建的有效pom,包括活动配置文件设置和考虑的所有父pom设置。要执行目标,只需运行:

mvn help:effective-pom
从输出中,您将看到当前构建所需的所有依赖项,直接的、继承的和可传递的


如果从C项目目录执行此操作,则输出将包含来自项目C的依赖项、来自项目B的任何继承依赖项,以及,从projectA

继承的任何其他依赖项都是针对插件配置的,而不是依赖项。谢谢更正:)谢谢您的确认+1ah对,这是插件配置,而不是依赖项。谢谢你纠正我:)谢谢你的确认+1您的意思是,如果我们将依赖项放在父pom的“依赖项管理”中,子pom将不会继承这些依赖项吗?@GotACrushOnIT是的。它将继承依赖关系管理块,但这不会导致依赖关系。依赖项管理块用于说明:如果我或我的子项目使用的某个项目具有此依赖项,则应将其与此版本(以及这些排除项)一起使用。这样,您可以在一个项目中定义所有相关版本,在子项目中定义父项目和ommit版本。您的依赖关系保持一致,但每个项目都明确地声明了其依赖关系。很好的解释+1您的意思是,如果我们将依赖项放在父pom的“依赖项管理”中,子pom将不会继承这些依赖项吗?@GotACrushOnIT是的。它将继承依赖关系管理块,但这不会导致依赖关系。依赖项管理块用于说明:如果我或我的子项目使用的某个项目具有此依赖项,则应将其与此版本(以及这些排除项)一起使用。这样,您可以在一个项目中定义所有相关版本,在子项目中定义父项目和ommit版本。您的依赖关系保持一致,但每个项目都明确地声明了其依赖关系。很好的解释+1.