Maven坐标
主要用于在依赖关系中确定某个唯一的包。
坐标由四种元素组成:
1.groupId:定义当前Maven项目所隶属的项目。
2.artifactId:定义项目的一个模块。
3.version:版本号。
4.packging:打包方式,默认为jar包。
依赖管理
在pom.xml文件中,声明依赖关系的方式如下:
依赖范围 scope 用来控制依赖与编译、测试、运行的ClassPath的关系,主要的几种依赖关系如下:
1.compile:对于编译、测试、运行三种ClassPath都有效,如果 scope 选项不设置,就默认是这个范围,如:log4j。
2.test:只对测试ClassPath有效,如:Junit
3.provided:已提供依赖范围,对编译、测试的ClassPath有效,但对于运行无效。因为依赖已有容器提供,如Servlet-API。
4.runtime:运行时提供,如 jdbc驱动。
仓库管理
Maven仓库:用来统一存储所有Maven共享构建的位置就是仓库,如:~\.m2\repository\
仓库布局:根据Maven坐标定义每个组件在仓库中的唯一存储路径,groupId /artifactId /version /artifactId-version.packing
仓库分类:
1.本地仓库。
2.远程仓库。
远程仓库又包括:
a.中央仓库:Maven默认的远程仓库。http://repo1.maven.org/maven2
b.私服:假设在局域网内的仓库。
c.j镜像:用来替代远程仓库,一般速度比中央仓库快。
生命周期
Maven声明周期用来所有的构建过程进行抽象和统一。这个构建过程包括项目清理、初始化、编译、打包、测试、部署等构建步骤。
Maven有三套相互独立的生命周期:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
Site Lifecycle 生成项目报告,站点,发布站点。