maven学习

Posted gujun1998

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven学习相关的知识,希望对你有一定的参考价值。

maven引入原因

在开发过程中我们需要引用各种 jar 包,尤其是比较大的工程,引用的 jar 包往往有几十个乃至上百个, 每用到一种 jar 包,都需要手动引入工程目录,而且经常会遇到 jar 包冲突,版本冲突。
maven能帮我们构建工程,管理 jar 包,编译代码,还能帮我们自动运行单元测试,打包,生成报表,甚至能帮我们部署项目,生成 Web 站点。

maven概念

Maven 是一个项目管理工具,它包含了一个项目对象模 型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管 理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标 (goal)的逻辑。

maven的下载安装

maven下载

去maven的官网下载 http://maven.apache.org/download.cgi

技术图片

maven的安装特别简单,在自己电脑上找一个不带中文字符的位置,将压缩包解压即可,解压即安装。

技术图片

maven环境变量的配置

maven的环境变量的配置需要依赖于java环境,在配置maven的坏境变量时首先要配置好java环境。

测试java环境变量是否配置好命令
java -version

技术图片

配置系统变量 M2_HOME,选择此电脑右键--->属性--->高级系统设置--->环境变量 --->在系统变量中选择新建--->在变量名中输入M2_HOME,在变量值中输入自己解压的maven的路径。

技术图片

在path中追加配置,点击系统变量中的path,选择新建,在输入框中输入

%M2_HOME%\\bin

技术图片

依次点击确定,直到窗口全部关闭。

测试maven的环境变量配置是否成功,在命令行窗口,输入

mvn -v
//出现maven的版本信息表示配置成功

技术图片

maven仓库种类及关系

本地仓库 :用来存储从远程仓库或中央仓库下载的插件和 jar 包,项目使用一些插件或 jar 包, 优先从本地仓库查找。

远程仓库:如果本地需要插件或者 jar 包,如果本地仓库没有,默认去远程仓库下载。远程仓库可以在互联网内也可以在局域网内。

中央仓库 :在 maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,包含了世界上大部分流行的开源项目构件。

技术图片

maven常用命令

mvn clean //clean 是 maven 工程的清理命令,会删除 target 目录及内容,清除项目编译信息。 
mvn compile  //会生成target目录,将 src/main/java 下的文件编译为 class 文件输出到 target 目录下。
mvn test   //在没有执行mvn compile 命令时,执行此命令,它也会生成target目录,然后执行src/test/java下的单元测试类。同时编译src/main/java下的文件。
mvn package  //执行此命令对于 java 工程打成 jar 包,对于 web 工程打成 war 包。同时会完成上面的compile和test命令所完成的工作。
mvn install  // 将 maven工程 打成 jar 包或 war 包发布到本地仓库。同时会执行上面几个命令的操作。

maven生命周期

maven 对项目构建过程分为三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”, 这三套生命周期分别是:

Clean Lifecycle 在进行真正的构建之前进行一些清理工作。 Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。 Site Lifecycle 生成项目报告,站点,发布站点。

maven概念模型图

Maven 包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段 (phase)中插件(plugin)目标(goal)的逻辑。

项目对象模型 (Project Object Model) 一个 maven 工程都有一个 pom.xml 文件,通过 pom.xml 文件定义项目的坐标、项目依赖、项目信息、 插件目标等。

依赖管理系统(Dependency Management System) 通过 maven 的依赖管理对项目所依赖的 jar 包进行统一管理。

一个项目生命周期(Project Lifecycle) 使用 maven 完成项目的构建,项目构建包括:清理、编译、测试、部署等过程,maven 将这些 过程规范为一个生命周期。

一组标准集合 maven将整个项目管理过程定义一组标准,比如:通过 maven 构建工程有标准的目录结构,有 标准的生命周期阶段、依赖管理有标准的坐标定义等。

插件(plugin)目标(goal) maven 管理项目生命周期过程都是基于插件完成的。

技术图片

idea集成maven插件

在打开项目的情况下依次选择--->File--->Settings--->Build,Execution,Deployment--->Build Tools--->maven

在没有打开项目的情况下选择--->idea启动界面下方的Configure--->Settings--->Build,Execution,Deployment--->Build Tools--->maven

在Maven home directory中选择自己本地maven的安装目录

在User settings file中选择本地maven安装目录下的conf文件夹下的settings.xml

Local repository会自动检测本地仓库的位置,若无法检测出,则自己手动选择本地仓库位置。

技术图片

idea创建maven的web工程

  1. 创建一个新的工程

技术图片

  1. 选择 idea提供好的 maven 的web 工程模板

技术图片

  1. 填写项目信息

技术图片

  1. 点击next,next,Finish,等待片刻,项目创建完成,控制台中出现下图信息表示项目创建成功。

技术图片

以上是关于maven学习的主要内容,如果未能解决你的问题,请参考以下文章

Maven学习笔记

maven学习手册

maven学习手册

Maven学习总结

Maven学习

Maven学习总结(一副本)——Maven配置和搭建