Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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 POM以相同的方式引用依赖项和父项。我们如何选择什么是什么?_Maven_Pom.xml - Fatal编程技术网

Maven POM以相同的方式引用依赖项和父项。我们如何选择什么是什么?

Maven POM以相同的方式引用依赖项和父项。我们如何选择什么是什么?,maven,pom.xml,Maven,Pom.xml,我发现POM中的parent和dependency引用的语法实际上是相同的: <parent> <groupId>com.topdesk</groupId> <artifactId>tis-parent</artifactId> <version>3.4</version> </parent> com.topdesk 父母 3.4 依赖项具有相同的内部内容。为什么我们选择

我发现POM中的
parent
dependency
引用的语法实际上是相同的:

<parent>
    <groupId>com.topdesk</groupId>
    <artifactId>tis-parent</artifactId>
    <version>3.4</version>
</parent>

com.topdesk
父母
3.4

依赖项
具有相同的内部内容。为什么我们选择将某事物作为父项而不是使用依赖项?

这些是不同的概念。引用父对象会使Maven查找它从中继承的pom(使用所有插件定义、配置文件、声明的DependencyManager等),即父对象和您的pom作为一个整体放在一起并执行


使用依赖项意味着Maven查找jar(除非您明确告诉它查找pom,这本质上意味着它将来自该pom的所有依赖项添加为可传递依赖项)。这个jar放在类路径上(连同它的依赖关系树)。

关于这个主题的一些更详细的文档: