maven
1.Maven是一种构建工具(打包项目)、依赖管理工具(资源依赖管理工具:主要用于集成资源)、项目信息聚合工具
2.子项目在继承父项目时,用parent声明
1.传递性依赖
传递性依赖是在maven2中添加的新特征,这个特征的作用就是你不需要考虑你依赖的库文件所需要依赖的库文件,能够将依赖模块的依赖自动的引入。 例如我们依赖于spring的库文件,但是spring本身也有依赖,如果没有传递性依赖那就需要我们了解spring项目依赖,自己添加到我们的项目中。
2.传递性依赖与依赖范围
依赖范围不仅可以控制依赖与三种classpath的关系,还对传递性依赖产生影响。假如springdemo-helloworld对于spring-core的依赖范围是compile,spring-core对于commons-logging的依赖范围是compile,那么springdemo-helloworld对于commons-logging这一传递性依赖的范围也就是compile。假设A依赖于B,B依赖于C,我们说A对于B是第一直接依赖,B对C是第二直接依赖,A对于C是传递性依赖。第一直接依赖的范围和第二直接依赖的范围决定了传递性依赖的范围。
传递性依赖的个人理解:你想要开水,正常的步骤就是首先你需要一个用来装开水的东西(壶,杯子等),然后是热水器,然后是电源,之后是水等,一步步的进行操作最后会得到开水,在这个过程中你可能得慢慢的考虑一步步怎么做,该如何做,慢慢的拿你需要的东西,如果是大人的话(资深程序员),可能心中有自己的想法会一步步的完成,但是如果是小朋友或者第一次烧水的人(菜鸟-我)可能并不知道要怎样做,可能只知道用壶装水并不知道要怎么烧水,但是如果使用maven的话,那么这并不需要担心需要什么,因为maven已经在你需要壶的时候就把壶,热水器和电源等一系列的东西给你了,这就是传递性依赖,你需要壶烧水吧,那么好我给你壶连带把热水器给你,电源也一并给你,不管是谁去使用,都会避免缺少工具的尴尬,当然该如何去做取决于个人,这就是maven的传递性依赖的好处啦,哈哈哈哈
3.maven配置
1.点击下载下载(注意jdk版本)
2.配置环境变量(必须依赖jdk,所以要求环境变量中有对应的JAVA_HOME) 配置maven信息 新建环境变量 变量名:maven_home 变量值 :对应安装路径
3.然后配置Path在之后添加 ;%maven_home%\bin; 注意原来如果有;则不需要重复添加;(所有的变量用逗号分隔).
4.查看是否正常运行 cmd下 输入 mvn -v; (maven的jdk版本和环境变量中配置的JAVA_HOME一致)java -version (可能与环境变量中的jdk版本不同)
4.maven生命周期
Maven强大的原因是有一个十分完善的生命周期,生命周期可以理解为项目构建步骤的集合,它定义了各个构建环节的执行顺序,有了这个顺序,Maven 就可以自动化的执行构建命令。Maven 的核心程序中定义了抽象的生命周期,生命周期中各个阶段的具体任务是由插件来完成的。有三套相互独立的生命周期,各个构建环节执行顺序不能打乱,必须按照既定的正确顺序来执行。
①、Clean Lifecycle:在进行真正的构建之前进行一些清理工作
②、Default Lifecycle:构建的核心部分,编译、测试、打包、安装、部署等等。
③、Site Lifecycle:生成项目报告,站点,发布站点。
这三个都是相互独立的。你可以仅仅调用 clean 来清理工作目录,仅仅调用 site 来生成站点。当然,也可以直接运行 mvn claen install site 运行所有这三套生命周期。下面我们分别来谈谈这三个生命周期。(这部分是摘抄)
最后如果大家有任何问题可以加一下我的Java开发交流群,我会为大家解决我能解决的问题!
群号:1031848061