与可能安装和使用,也可能不安装和使用的optional不同,exclusions 会主动从依赖树中移除工件。 继承 Maven为构建管理带来的一个强大的补充是项目继承的概念。...dependencyManagement:由POM用来帮助管理其所有子级的依赖关系信息。...这种方法的好处是显而易见的。可以集中在一个中心位置设置依赖关系详细信息,并传播到所有继承的POM。 请注意,从可传递依赖项合并的工件的版本和作用域也由依赖项管理部分中的版本规范控制。...在子POM中使用这些属性可以控制Maven如何将父级的插件配置与子级的显式配置相结合。...然而,如果我们在pluginManagement 元素下应用它们,那么这个POM和所有将maven-jar-plugin添加到构建中的继承POM也将获取 pre-process-classes execution
配置 1 dependencyManagement 和dependencies区别 1、dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承) 2、dependencyManagement...如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项, 并且没有指定具体版本,才会从父项目中继承该项, 并且version和scope都读取自父pom;另外如果子项目中指定了版本号...这样做的原因有很多,比如你有一个局域网的远程仓库,使用该仓库能大大提高下载速度,继而提高构建速度,也有可能你依赖的一个jar在central中找不到,它只存在于某个特定的公共仓库,这样你也不得不添加那个远程仓库的配置...至于,这是配置Maven从什么地方下载插件构件 (Maven的所有实际行为都由其插件完成)。该元素的内部配置和完全一样,不再解释。...extensions> 是否让子pom继承,ture or false 默认为true.
--该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。...--该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。...--可选依赖,如果你在项目B中把C依赖声明为可选,你就需要在依赖于B的项目(例如项目A)中显式的引用对C的依赖。可选依赖阻断依赖的传递性。...--配置是否被继承到子POMs--> 继承自该项目的所有子项目的默认依赖信息。
该插件配置项直到被引用时才会被解析或绑定到生命周期。给定插件的任何本地配置都会覆盖这里的配置--> pluginManagement> 的插件列表 。...--是否从该插件下载Maven扩展(例如打包和类型处理器),由于性能原因,只有在真需要下载时,该元素才被设置成enabled。...--该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。...--配置是否被继承到子POMs--> 继承自该项目的所有子项目的默认依赖信息。
怎么做到传递依赖与排除依赖 Maven的聚合和继承 mvn使用实例 1关注公众号,一起交流,微信搜一搜: 潜行前行 2Maven 和 Maven的仓库 Maven仓库用来存放Maven所管理Jar包。...中央仓库包含了绝大多数流行的开源Java构件 远程仓库: Maven 在中央仓库中也找不到依赖的文件,它会停止构建过程并输出错误信息到控制台。...--该元素描述了项目相关的所有依赖。这些依赖组成了项目构建过程中的一个个环节。...--子项目可以引用的默认插件信息。该插件配置项直到被引用时才会被解析或绑定到生命周期。...-- 继承自该项目的所有子项目的默认依赖信息。
-- 配置是否被传播到子POM --> 的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。 --> 的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。...-- 产生报表集合时,被使用的报表的配置 --> 是否被继承到子POMs --> 继承自该项目的所有子项目的默认依赖信息。
该插件配置项直到被引用时才会被解析或绑定到生命周期。给定插件的任何本地配置都会覆盖这里的配置 --> pluginManagement> 的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。...--该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。...--配置是否被继承到子POMs --> 继承自该项目的所有子项目的默认依赖信息。
--配置是否被传播到子POM--> 的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。...--依赖的artifact ID--> maven-artifact 依赖的版本号。 在Maven 2里, 也可以配置成版本号的范围。...--产生报表集合时,被使用的报表的配置--> 是否被继承到子POMs--> 继承自该项目的所有子项目的默认依赖信息。
父(Super)POM 父(Super)POM是 Maven 默认的 POM。所有的 POM 都继承自一个父 POM(无论是否显式定义了这个父 POM)。父 POM 包含了一些可以被继承的默认设置。...该插件配置项直到被引用时才会被解析或绑定到生命周期。给定插件的任何本地配置都会覆盖这里的配置 --> pluginManagement> 的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。...--配置是否被继承到子POMs --> 继承自该项目的所有子项目的默认依赖信息。
编译范围依赖在所有的classpath中可用,同时它们也会被打包。 -provided:provided依赖只有在当JDK 或者一个容器已提供该依赖之后才使用。...--当计算传递依赖时,从依赖构件列表里,列出被排除的依赖构件集。即告诉maven你只依赖指定的项目,不依赖项目的依赖。也可以使用通配符*排除所有依赖。...--继承自该项目的所有子项目的默认依赖信息。...列出的每个模块元素是指向该模块的目录的相对路径--> 继承和模块的区别:继承父不知子,但子知父。模块父知子,但子不知父。...--产生报表集合时,被使用的报表的配置--> 是否被继承到子POMs--> <!
该插件配置项直到被引用时才会被解析或绑定到生命周期。给定插件的任何本地配置都会覆盖这里的配置--> pluginManagement> 是否从该插件下载Maven扩展(例如打包和类型处理器),由于性能原因,只有在真需要下载时,该元素才被设置成enabled。...--该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。...--配置是否被继承到子POMs--> 继承自该项目的所有子项目的默认依赖信息。
-- 是否从该插件下载Maven扩展(例如打包和类型处理器),由于性能原因,只有在真需要下载时,该 元素才被设置成enabled。...-- 该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的 仓库中下载。要获取更多信息,请看项目依赖机制。...-- 该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。 要获取更多信息,请看项目依赖机制。...-- 配置是否被继承到子POMs --> true/false...-- 继承自该项目的所有子项目的默认依赖信息。
url:项目主页的URL, Maven产生文档时用。 exclusions:排除管理(写在dependency中)。 exclusion:具体要排除的依赖项。...二 、 dependencyManagement 和 dependencies 的区别 1 ) dependencies:自动引入声明在dependencies里的所有依赖,并默认被所有的子项目继承...如果项目中不写依赖项,则会从父项目继承(属性全部继承)声明在父项目dependencies里的依赖项。...如果不在子项目中声明依赖,是不会从父项目中继承的; 只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom; 如果子项目中指定了版本号,...一个是项目依赖,一个是maven项目多模块情况时作依赖管理控制的。 4 ) pluginManagement和plugins 区别相似,只不过它们用于管理plugin。
领取专属 10元无门槛券
手把手带您无忧上云