【maven总结】(1) 坐标与依赖
maven可以管理项目的依赖,如何找到jar的具体位置,唯一的标识就是坐标。开发过程中需要导入项目所依赖的jar,多个项目之间依赖的管理也有原则。 1.坐标的概念
<groupId>org.sonatype.nexus</groupId> <artifactId>nexus-indexer</artifactId> <version>2.0.0</version> <packaging>jar</packaging> maven 的所有构件均通过坐标进行组织和管理。maven 的坐标通过 5 个元素进行定义,其中 groupId、artifactId、version 是必须的,packaging 是可选的(默认为jar),classifier 是不能直接定义的。
2.依赖2.1.范围 compile:编译依赖范围。如果没有指定,就会默认使用该依赖范围 test:测试依赖范围。只对测试classpath有效 provided:已提供依赖范围。对于编译和测试classpath有效 runtime:运行时依赖范围。对于测试和运行有效 system:系统依赖范围。该依赖与三种classpath的关系,和provided依赖范围完全一致。 import:导入依赖范围。
2.2传递性依赖 如果A->B->C,即A对于B的依赖范围是compile,B对于C的依赖范围是compile,那么A对于C的依赖范围是compile。此时,我们称A对于B是第一直接依赖,B对于C是第二直接依赖(根据情况的不同可能会有第三、第四……直接依赖),A对于C是传递性依赖。 2.3 依赖调解 1.路径最近者优先 2.最先声明者优先 2.4 可选依赖 可选依赖,依赖将不会得以传递。<optional>true</optional> 2.5 排除依赖 不想引入的依赖,使用代码中用exclusions元素可以包含多个exclusion子元素。
2.6 版本统一管理 <properties> 3.总结pom是可以继承的,通常对于一个大型的项目或是多个module的情况,子模块的pom需要指定父模块的pom。利用maven可以高效管理我们的项目。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |