男女做暖网站是什么意思,seo精准培训课程,wordpress新增页面,软件技术专升本有哪些学校实际项目中#xff0c;可能正要构建一个大型的系统#xff0c;但又不想一遍又一遍的重复同样的依赖元素#xff0c;这种情况是经常出现的。不过还好#xff0c;maven提供了继承机制#xff0c;项目可以通过parent元素使用继承#xff0c;可以避免这种重复。当一个项目声明… 实际项目中可能正要构建一个大型的系统但又不想一遍又一遍的重复同样的依赖元素这种情况是经常出现的。不过还好maven提供了继承机制项目可以通过parent元素使用继承可以避免这种重复。当一个项目声明一个parent的时候它从父项目的POM中继承信息。它也可以覆盖父POM中的值或者添加一些新的值。 一、创建Parent工程打包方式为pom Parent/pom.xml文件内容如下 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.nchu.maven/groupIdartifactIdParent/artifactIdversion0.0.1-SNAPSHOT/versionpackagingpom/packaging!--消除多模块依赖配置重复我们知道依赖是可以继承的既父模块中定义的依赖子模块可自动继承 但是有些子模块需要有些不需要的情况下该怎么办呢那就必须用 dependencyManagement 标签了 子模块的 pom 中就可以使用 dependency groupIdjunit/groupId artifactidjunit/artifactId /dependency 这样引用没有引用的就不会自动继承--dependencyManagementdependenciesdependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.12/version/dependency/dependencies/dependencyManagement !--聚合--modulesmodule../HelloMaven/modulemodule../MavenLearn/modulemodule../WebProject/modulemoduleFirstModel/modulemoduleSecondModel/module/modules
/project 聚合:将一个工程拆分为多个模块 二、在各个子工程中引用父工程 在父工程主目录上右键选择other,搜索maven,选择Maven Model 子模块pom.xml文件内容如下 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.nchu.maven/groupIdartifactIdParent/artifactIdversion0.0.1-SNAPSHOT/version !-- Maven假设父POM在本地仓库中可用或者在当前项目的父目录(../pom.xml) 中可用。 如果两个位置都不可用默认行为还可以通过relativePath元素被覆盖 -- !--relativePath../Parent/pom.xml/relativePath--/parentartifactIdFirstModel/artifactIddependencies !--子工程引入该依赖时已经继承了父工程的依赖信息子工程中的pom.xml就不需要指定以来的版本号了;--dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactId/dependency/dependencies
/project 当一个项目指定一个父项目的时候Maven在读取当前项目的POM之前会使用这个父POM作为起始点。它继承所有东西包括groupId和version。有了parent元素一个POM就只需要定义一个artifactId。但这不是强制的可以有一个不同的groupId和version但如果不提供值Maven就会使用在父POM中指定的值。如果开始使用Maven来管理和构建大型的多模块项目你就会常常创建许多共享一组通用的groupId和version的项目。 当继承一个POM可以选择直接使用继承的POM信息或者选择覆盖它。一个Maven POM从它父POM中可以继承定义符groupId和artifactId中至少有一个必须被覆盖 、依赖、开发者和贡献者、插件列表、报告列表、插件执行 id匹配的执行会被合并、插件配置。 当Maven继承依赖的时候它会将父项目中定义的依赖添加到子项目中。可以使用Maven的这一特征来指定一些在所有项目被广泛使用的依赖让它们从顶层POM中继承。例如如果系统全局使用Log4J日志框架可以在你顶层 POM中列出该依赖任何从该项目继承POM信息的项目会自动拥有Log4J依赖。 类似的如果能确定每个项目都在使用同样版本的一个Maven插件可以在顶层父POM的pluginManagement元素中显式的列出该Maven插件的版本。 转载于:https://www.cnblogs.com/realshijing/p/8253001.html