maven在安装目录下的settings.xml配置会被用户主目录下的settings.xml覆盖。
在settings.xml文件中<localRepository>元素就是用来配置本地仓库用的。
maven的SNAPSHOT版本:表示每隔一段时间,就会主动更新。这样利于在开发时与他人进行合作。
release版本则只会在引用依赖时加载一次。
dependencyManagement中的依赖在子项目中如果不声明,则不会产生依赖关系。
父项目中的依赖则会直接被子项目继承。
定义父项目的意义:在于统一管理项目的依赖配置,当多个项目引用父项目时,不至于使得项目的jar包引用出现混乱。
依赖冲突
有下面这种情况:
项目A有这样的依赖关系:A-->B-->C-->Z(1.0);A-->D-->Z(2.0)这样就造成了Z在项目中出现两个版本。Maven是怎么处理这种问题的呢?
第一原则:路劲最近者优先,其中Z(1.0)路径为3。Z(2.0)路径为2 所以选择Z(2.0)
第二原则:如果路径相同,那么使用第二原则,谁在pom中先被声明就用谁。
maven在settings.xml中配置profile元素,配置私服。
在pom.xml中的profile元素一般用于构建。
distributionmanagement元素用于配置部署信息。