依赖管理
依赖传递:
当我们在项目中引入一个依赖,此依赖的运行又依赖于其他的jar包。此时maven会把它依赖的jar包也引入到当前项目中。
依赖冲突:
在我们的项目中,同时引入了多个相同的依赖,这叫依赖冲突。通俗来说,就是在一个项目中,引入了多个全类名一致的类。
解决方案:
maven机制
第一声明者优先:谁写在前面就使用谁。
就近原则:直接依赖优先于间接依赖
排除依赖:把直接依赖中的间接依赖排除掉。
版本锁定(最常用的解决策略):
使用dependencyManagement标签锁定版本,但是,该标签不会真正引入依赖
作用是:如果引入这个依赖,则引入的依赖是这个版本,下面依赖指定时不需要再指定version标签了
还声明一个字符串,在pom.xml中可以使用EL表达式获取其中的值
<properties>
<spring.version>5.0.5.RELEASE</spring.version>
<springmvc.version>5.0.5.RELEASE</springmvc.version>
<mybatis.version>3.4.5</mybatis.version>
</properties>
#分模块构建 ##项目结构:有一个父模块,多个子模块。 ###父模块:打包方式为pom ###子模块:继承父模块的pom中的配置
##继承:子模块可以继承父模块的配置,一般用于在父模块指定依赖配置,在子模块中使用。 ##聚合:聚合和继承没有任何关系。任意若干个模块都可以进行聚合,它们之间可以没有任何关系,也可以有继承关系。如果多个模块聚合到了一个模块中。在这个聚合的模块中执行任何maven指令,都相当于在每一个模块中执行了该指令。主要的作用就是统一操作若干个模块,一般情况下,我们会把一个父模块下的所有子模块聚合到父模块中。 
#maven父子工程构建方式 ##聚合方式: ###父工程包含子工程 
###子工程继承父工程 
###特点: ####子工程会继承父工程依赖的jar包、jar包版本(继承特点) ####操作父工程时,也会同样操作子工程,例如:对父工程进行clean、package、install,子工程也会进行同样的操作 
##继承 ###父工程中,不包含子工程,子工程只是单纯的继承父工程 
###特点: ####子工程会继承父工程依赖的jar包、jar包版本(继承特点)
#maven私服 安装私服 install 卸载私服 uninstall 今天测试完成之后,把私服卸载掉即可。