网易微专业——Java Web开发工程师学习笔记(3):Maven

  • Maven的优势:

1. 约定(惯例)优先原则,默认限定了目录结构

2. 三方依赖惯例,解决了依赖维护

3. 提供了一致的项目构建管理方法,减少了构建工作量

4. 插件式的架构,大量可重用插件

5. 很方便的集成IDE

6. 开源项目使用 Maven 

  • pom.xml:

1. (项目坐标)groupId,组织

2. (项目坐标)artifactId,项目标识符

3. (项目坐标)version,版本(SNAPSHOT代表未发布版本)

注意:项目坐标为项目的唯一标识,不可重复

4. packaging,类型,war

5. dependencies,依赖的项目

  • 基本命令:

1. mvn archetype:generate  使用模板生成项目

2. mvn compile  编译源代码

3. mvn test  单元测试

4. mvn package  打包War

5. mvn deploy  部署

6. mvn site  项目相关的站点,在线文档

7. mvn clean  清理操作

8. mvn install  安装本地依赖

  • 约定(惯例)优先于配置:

1. 标准的目录结构:*.java放到src/main/java目录下;*.class在target目录下;配置及静态文件

2. 项目描述符,pom.xml

  • POM

1. xml文件,pom.xml

2. project基本等价于artifact

3. 项目类型packaging:pom,jar,war

4. 坐标


5. 属性,${property}


6. 依赖


7. 构建配置


8. 多项目、继承


9. 项目总体信息

  • pom面向对象:继承

1. 继承或覆盖,Override

2. 可继承项:坐标属性,如groupId;依赖配置;插件配置;一般性信息,如开发者信息

  • Super POM

1. 所有的Maven项目的POM都继承Super POM

2. 是Maven的组成部分

3. 超级POM定义了一组被所有项目共享的默认设置:默认的文件位置;统一的插件配置;默认的中央仓库配置……

  • 多模块构建

1. parent项目,类型是pom:定义modules


2. 子模块中配置parent,继承


3. 统一配置提到parent项目中


3. 既使用继承也使用组合

  • 依赖配置

1. 依赖坐标

2. scope依赖(范围):compile(初始默认)【编译、打包需要】、provided【编译时需要,打包时不需要】

3. 用于继承的pom配置:dependencyManagement【把需要继承的配置包起来】

  • 构建生命周期

总结:



猜你喜欢

转载自blog.csdn.net/weixin_38385524/article/details/80069463