Maven认识
maven是一个项目管理工具。它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑
Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven能解决什么问题
- 我们需要引用各种jar包,尤其是比较大的工程,引用的jar包往往有几十个乃至上百个,每用一种包都需要手动引入工程目录,而且经常遇到各种让人抓狂的包冲突
- 编译功能,我们辛辛苦苦写的java文件,电脑只懂得0与1,需要将他编译成二进制字节码,好歹在这项工作可以由各种开发工具来帮我们完成
- 测试功能,世界上没有不存在bug的代码,计算机喜欢bug就和人们喜欢美女帅哥一样,为了追求美为了减少bug,因此写完了代码后需要测试,然后一个个的运行来检验代码质量
- 打包功能,代码是拿来用的,需要与各种配置文件,资源整合到一起,定型打包,如果是web项目,需要将之发布到服务器,供别人蹂躏
依赖管理:maven对项目中的jar包的管理过程,传统工程我们直接把jar包放置在项目中。maven工程真正的jar包放置在仓库中,项目中只用放置jar包的坐标
仓库的种类:本地仓库,远程仓库【私服】,中央仓库
仓库之间的关系:当我们启动一个maven工程的时候通过pom文件中的jar包的坐标去本地仓库找对应jar包,默认情况下,如果本地仓库没有就会去中央仓库下载对应包到本地仓库(在配置条件下会去私服下载,如果私服没有的的话就得上传)
项目的一键构建
我们的项目往往都要经历编译,测试,运行,打包,安装,部署等一系列过程
什么是构建
指的是项目从编译,测试,运行,打包,安装,部署整个过程都交给maven进行管理,这个过程称为构建
一键构建
指的是整个构建过程,使用maven一个命令可以轻松完成整个工作
maven规范化构建流程如下
清理------编译-----测试------报告-----打包------部署
一键构建:maven自身集成tomcat插件,可以对项目进行编译,测试,打包,安装,发布等操作
maven的安装
先到maven官网下载,就是下面的bin.zip包,然后能在环境变量的新建一个名为MAVEN_HOME文件路径就maven文件的所在磁盘的全路径,还要到path里的最后新建配置路径%MAVEN_HOME%/bin
当maven首次被启动时会去系统盘找本地仓库,没有的话就去中央仓库(放置几乎所有开源jar包)下载,最好配置远程仓库,仓库分三种,本地仓库,远程仓库,中央仓库
最好去maven包里面的设置文件调整本地仓库路径
maven标准目录结构
核心代码部分
配置文件部分
测试代码部分
测试配置文件
maven项目目录标准结构
src/main/java目录 核心代码部分
src/main/resource配置文件部分
src/test/java目录测试代码部分
src/test/resources测试配置文件
src/main/webapp页面资源,js,css,图片等等
maven常用命令
mvn clean将target目录删除
mvn compile编译代码
mvn test测试
mvn package打包
mvn install,打成一个包,安装到本地仓库
上面除了第一个都是后者包含前者的动作
生命周期
清理项目编译信息 | 编译 | 测试 | 打包 | 安装 | 发布 |
---|---|---|---|---|---|
clean | compile | test | package | install | deploy |
第一个是清理生命周期 ,编译到发布为默认生命周期,最后是站点生命周期(这个通常不用理)