一 定义
Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理。Maven对项目进行模型抽象,充分运用的面向对象的思想,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。简单的来说Maven是一个项目管理工具,它包含了一个项目对象模型(POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),用来运行在生命周期阶段中插件目标的逻辑。
二 下载与配置
可以去官网下载:http://maven.apache.org/download.cgi
下载完毕,解压至本地文件夹即可,目录不可带中文。
配置环境变量,类似jdk环境配置
1.创建MAVEN_HOME环境变量,指向maven的安装目录。
2.并将maven安装目录下的bin追加到PATH路径中
3.cmd下输入mvn -v测试是否安装成功
安装完需要配置conf目录下的settings.xml文件,具体可以参考:
https://www.cnblogs.com/hongmoshui/p/10762272.html
三 Maven的仓库分类以及简单的说明
本地仓库 : 相当于缓存。本地仓库存储在本地的磁盘当中,里面存放的是经常使用的jar包。
远程仓库 : 也叫做私服。基本每个公司都会有自己的私服,当本地的磁盘中不存在需要的jar包资源,则会请求私服进行资源下载。
中央仓库 : 远程仓库,由jar专业团队统一维护。
四 Maven定义jar包的各个字段的描述
groupId : 定义当前Maven组织的名称
artifactId : 定义项目模块
version : 定义当前项目的版本
五 一些理解
我们平时开发时用eclipse或者myeclipse等IDE工具进行项目的开发,可能会经常修改,需要去删除或添加一些架包,架包之期是否有冲突还不好说,还需要去编译,重新打包部署等。
我们编写的 Java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等静态资源作为“原材料”,去“生产”出一个可以运行的项目的过程,这个过程需要进行构建
1)构建过程的几个主要环节
①清理:删除以前的编译结果,为重新编译做好准备。
②编译:将 Java 源程序编译为字节码文件。
③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
④报告:在每一次测试后以标准的格式记录和展示测试结果。
⑤打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包,Web
工程对应 war 包。
⑥安装:在 Maven 环境下特指将打包的结果——jar 包或 war 包安装到本地仓库中。
⑦部署:将打包的结果部署到远程仓库或将 war 包部署到服务器上运行。
在 JavaEE 开发领域普遍认同一个观点:约定>配置>编码。意思就是能用配置解决的问题就不编码,能基于约定的就不进行配置。而 Maven 正是因为指定了特定(约定)文件保存的目录才能够对我们的 Java 工程进行自动化构建。
六 实例
本地创建一个maven项目,同时建立Maven约定的目录结构和pom.xml文件。
目录如下:Hello
| --src
| -----main
| ----------java
| ----------resources
| -----test
| ---------java
| ---------resources
| --pom.xml
1)编辑Hello根目录下的pom.xml
2)在src\main\java\demo\maven目录下创建Hello.java
3)在Hello\src\test\java\demo\maven目录下创建
4)使用maven编译、测试、打包项目
a.进入Hello项目根目录执行"mvn compile"命令编译项目的java类
编译成功之后,可以看到hello项目的根目录下多了一个【target】文件夹,这个文件夹就是编译成功之后Maven帮我们生成的文件夹。
b.进入Hello项目根目录执行"mvn test"命令测试项目
c.进入Hello项目根目录执行"mvn package"打包测试项目