log4j log4j 1.2.12
依赖传递
直接依赖:在当前项目中通过依赖配置建立的依赖关系间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
依赖传递冲突问题对于Maven项目,可能会出现不同版本的依赖,这种情况叫做依赖传递冲突问题
路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的 可选依赖
对外隐藏当前所依赖的资源
排除依赖junit junit 4.12 true
主动断开依赖的资源,被排除的资源无需指定版本
依赖范围com.itheima project03 1.0-SNAPSHOT log4j log4j
依赖的jar默认情况可以在任何地方使用,可以通过scope标签设定作用范围
作用范围
主程序范围有限main文件夹范围内测试程序范围有效 test文件夹范围内是否参与打包 package指令范围内
依赖范围传递性带有传递范围的资源在进行传递时,作用范围将受到影响
生命周期与插件 项目构建生命周期Maven构建生命周期描述的是一次构建过程经历的时间
compile->test-compile->package->install
Maven对项目构建的生命周期划分为3套
clean:清理工作
pre-clean:执行一些需要在clean之前完成的工作clean:移除所有上一次构建完成的文件post-clean:执行一些需要在clean之后立刻完成的工作
default:核心工作,例如编译、测试、打包、部署等
如果执行compile,那么包括compile之前的命令都会执行
site:产生报告,发布站点等
pre-site:执行一些需要生成站点文档之前完成的工作site:生成项目的站点文档post-site:执行一些需要在生成站点文档之后完成的工作,并且为部署做准备site-deploy:将生成的站点文档部署都特定的服务器上
插件生命周期控制的是在执行任务的过程,每个过程对应一个插件
插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功能默认maven在各个生命周期上绑定有预设的功能通过插件可以自定义其他功能
org.apache.maven.plugins maven-source-plugin 2.2.1 jar test-jar generate-test-resources



