maven个人笔记整理

1.什么是maven?

        Maven是apache旗下的一个开源项目,用来管理和构建java项目的工具。

2.maven的作用

        (1).依赖管理:

                方便管理项目以来的资源(jar包),避免版本冲突问题

        (2).统一项目结构:

                提供标准、统一的项目结构

 (3).项目构建:

        支持跨平台(Linux、Windows、MacOS)的自动化项目构建方式。

        maven的命令在多个平台都可以使用

        

 3.依赖管理

        (1).依赖配置

        

(2). 依赖传递

        依赖具有传递性

        直接依赖:绿色

        间接依赖:黄色

图中:

        A项目有一个jar包和一个B项目为直接依赖

       jar包又间接依赖了jar包,B项目又间接依赖了一个jar包和一个C项目,C项目依赖了一个jar包

如果:

        A项目只想依赖B项目,不需要B项目依赖的资源,此时用到了maven中的"排除依赖"

排除依赖:

主动断开依赖的资源,被排除的资源不需要指定版本,通过exclusion排除依赖,可以排除多个依赖

 (3).依赖范围

依赖的jar包,默认情况下,可以在任何地方使用。可以通过<scope>...</scope>设置作用范围

 

(4). 生命周期

Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一。

Maven有3套相互独立的生命周期:

  • clean:清理工作。
  • default:核心工作、如:编译、测试、打包、安装、部署等。
  • site:生成报告、发布站点等。

 每套生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段。

1、clean周期
主要用于清理上一次构建产生的文件,可以理解为删除target目录。
  1)pre-clean:执行清理前需要完成的工作
  2)clean:清理上一次构建生成的文件
  3)post-clean:执行清理后需要完成的工作
命令:mvn clean
2、default周期
主要阶段包括:
  1)process-resources:默认处理src/main/resources/下的文件,将其输出到对应的classpath目录中。
  2)compile:编译src/main/java下的java文件,产生对应的class。
  3)process-test-resources:默认处理src/test/resources/下的文件,将其输出到对应的classpath目录中。
  4)test-compile:编译src/test/java下的java文件,产生对应的class。
  5)test:运行测试用例。
  6)package:打包构件,即生成对应的jar包、war包等。
  7)install:将构件部署到本地仓库。
  8)deploy:部署构件到远程仓库。
命令:
mvn install
mvn package
mvn clean package #调用clean生命周期的clean阶段和default生命周期的package阶段
3、site周期
主要阶段包括:
  1)site:产生项目的站点文档。
  2)site-deploy:将项目的站点文档部署到服务器。
命令:
mvn site

执行指定生命周期有两种方式:

在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行。

在命令行中,通过命令执行。

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值