依赖配置:依赖指当前项目运行所需的jar,一个项目可以有多个依赖。
格式:
junit junit4.12 test
依赖传递
依赖传递是指一个项目所依赖的jar包或其他项目有其所依赖的jar包或项目,则该项目可以使用其所依赖的jar包或其他项目有其所依赖的jar包或项目并可以向下追溯,这些jar包或项目为该项目的间接依赖。
依赖具有传递性:
直接依赖:在当前项目中通过依赖配置建立的项目关系。
间接依赖:被依赖的资源如果依赖其它资源,当前项目间接依赖其他资源。
(直接依赖和间接依赖是相对概念。)
依赖传递所存在的问题:
如果当前项目与其所依赖的jar包或项目依赖同一个资源,但版本不同。如此会使用那个资源?
路径优先:当依赖中出现相同资源时,层级越深,优先级越低,层级越浅,优先级越高。
声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的。(间接依赖)
特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的。(直接依赖)
可选依赖:指对外隐藏当前所依赖的资源——不透明。(即当有项目将当前项目作为依赖时,当前项目的可选依赖将不显示,但仍作为该项目的简介依赖。)
方式:在相应的
junit
junit
true
test
排除依赖:指主动断开所依赖的资源,被排除的资源无需指定版本——不需要(若A项目依赖B项目,B项目依赖junit包,则A项目可以主动断开A项目与junit包的间接依赖关系。)
方式:在配置项目依赖的
com.itheima web011.0-SNAPSHOT junit junit



