maven笔记一:要点知识

安装maven: 下载,解压文件。

单击环境变量,在系统变量中新建一个变量,变量名为M2_HOME,变量值为Maven的安装目录 D:\bin\apache-maven-3.0.

在系统变量中,在名为path的变量,在变量值的末尾加上 %M2_HOME%\bin; 。确定即可。

测试maven是否安装成功:cmd->mvn -version.


依赖范围是用来控制依赖与这三种classpath(编译classpath,测试classpath,运行classpath)的关系,

maven有以下6种依赖范围:

1.compile:编译依赖范围。没指定时默认使用此依赖范围。使用此依赖范围的maven依赖,在编译,测试,运行三种classpath都有效。例spring-core.

2.test.测试依赖范围。只对测试classpath有效,在编译主代码或运行的时候无法使用此类依赖。例Junit.

3.provided.已提供依赖范围。使用此依赖范围的maven依赖,对于编译和测试classpath有效,在运行时无效。例servlet-api.

4.runtime.运行时依赖范围,对测试和运行classpath有效。但在编译主代码时无效。例JDBC编译实现。

   5.system.系统依赖范围。与provided完全一致,使用system范围依赖时,必须通过systemPath元素显式指定依赖文件的路径。systemPath可以引用环境变量。

6.import(maven2.0.9及以上),导入依赖范围。

传递性依赖:假设A依赖于B,B依赖于C,则说,A对B是第一直接依赖,B对C是第二直接依赖,A对C是传递性依赖。


maven仓库:分本地仓库和远程仓库。


私服:特殊远程仓库,架设在局域网内的仓库服务。

为什么要用私服:1.节省外网带宽。2.加速maven 构建。3.部署第三方构件.4.提高稳定性,增强控制。4.降低中央仓库的负荷.

生命周期:三套生命周期。

clean生命周期:目的是清理项目,它包含三个阶段:

  1. pre-clean:执行一些清理前需要完成的工作。

  2. clean:清理上次构建生成的文件。

  3. post-clean:执行一些清理后需要完成的工作。

default生命周期:定义了真正构建时需要执行的所有步骤,是所有生命周期中最核心的部分,包含如下阶段:

 validate

initialize

generate-sources

process-sources 处理项目主资源文件。一般来说,是对src/main/resources目录的内容进行变量替换等工作后,复制到项目输出的主classpath目录中。

generate-resources

process-resources

compile 编译项目的主源码。通常是编译src/main/java目录下的Java文件至项目输出的主classpath目录中。

process-classes

generate-test-sources

process-test-sources 处理项目测试资源文件。处理项目测试资源文件。一般是对src/test/resources目录的内容进行变量替换等工作后,复制到项目输出的测试classpath目录中。

generate-test-resources

process-test-resources

test-compile 编译项目的测试代码 

process-test-classes

test 使用单元测试框架运行测试,测试代码不会被打包或部署

prepare-package

package 接受编译好的代码 ,打包成可发布可格式,如jar.

pre-integration-test

inteegration-test

post-integration-test

verify

install 将包安装到maven本地仓库,供本地其他Maven项目使用

deploy 将最终包复制到远程仓库,供其他开发人员和Maven项目使用


site生命周期:site生命周期的目的是建立和发布项目站点,Maven能够基于POM所包含的信息自动生成一个友好站点。


命令行与生命周期:从命令行执行Maven任务的最主要途径就是调用Maven的生命周期阶段。各个生命周期相互独立,但一个生命周期的阶段有前后依赖关系。

$mvn clean :该命令调用clean生命周期的clean阶段。实际执行的阶段为clean生命周期的pre-clean和clean阶段。

$mvn test:调用default生命周期的test的test阶段。

$mvn clean install :调用clean生命周期的clean阶段和default生命周期的install阶段。

$mvn clean deploy site-deploy 调用clean生命周期的clean阶段,default生命周期的deploy阶段,以及site生命周期的site-deploy阶段。








你可能感兴趣的:(maven笔记一:要点知识)