Maven

1. 定义:

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

Maven官网地址:https://maven.apache.org/

2. Maven下载与配置

2.1 Maven下载地址:

注意:maven的版本一定要和jdk的版本相匹配,maven的最新版本与jdk1.8不匹配

2.2 Maven环境变量配置:

新建系统变量:MAVEN_HOME

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wKxzLuBU-1609474724113)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210101105536931.png)]

在PATH中点击新建,添加maven的bin文件夹的路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TD83RjLw-1609474724116)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210101110151717.png)]

或者直接添加%MAVEN_HOME%/bin%MAVEN_HOME%/bin是作为 Maven 的 Path 添加的。

检测是否安装成功:

打开cmd命令行窗口,输入mvn -versionmvn -v

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1uu4VumS-1609474724120)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210101110637923.png)]

3. Maven的作用

  1. maven可以管理jar文件
  2. 自动下载jar和他的文档,源代码
  3. 管理jar直接的依赖, a.jar需要b.jar,maven会自动下载b.jar
  4. 管理你需要的jar版本
  5. 帮你编译程序,把java编译为class
  6. 帮你测试你的代码是否正确
  7. 帮你打包文件,形成jar文件,或者war文件
  8. 帮你部署项目

项目构建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ugRjhf6C-1609474724123)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210101103933587.png)]

4. Maven核心概念

  1. POM:一个文件pom.xml,pom翻译过来叫做项目对象模型。

    ​ maven把一个项目当作一个模型使用。控制maven构建项目的过程,管理jar依赖。

  2. 预定的目录结构:maven项目的目录和文件的位置都是规定的。

  3. 坐标:是一个唯一的字符串,用来表示资源的,

  4. 依赖管理:管理你的项目可以使用的jar文件

  5. 仓库管理(了解):你的资源存放的位置

  6. 生命周期(了解):maven工具构建县厚木的过程,就是生命周期

  7. 插件和目标(了解):maven工具构建项目的过程,就是生命周期。

  8. 继承

  9. 聚合

5. Maven目录结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lAml5ymb-1609474724125)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210101114140041.png)]

6. Maven坐标

组织名:定义当前 Maven 项目从属的实际项目。

模块号推荐的名称是:推荐命名的方式为:实际项目名称-模块名称。

版本号:定义 Maven 当前所处的版本。如果项目还在开发中是不稳定版本,通常在版本后带-SNAPSHOT

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4N74yisc-1609474724127)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210101114701773.png)]

7. Maven中央仓库

仓库是什么:仓库是存放东西的,存放maven使用的jar 和 我们项目使用的jar

仓库的分类:

本地仓库,就是你的个人计算机上的文件夹,存放各种jar

远程仓库,在互联网上的,使用网络才能使用的仓库

  • 中央仓库,最权威的,所有开发人员都共享使用的一个集中的仓库
  • 中央仓库的镜像:就是中央仓库的备份,在各大洲,重要的城市都是镜像。
  • 私服,在公司的内部,在局域网中使用的,不是对外使用的。

举例:开发人员需要使用mysql驱动—>maven首先查本地仓库—>私服—>镜像—>中央仓库

7.1 中央仓库

Maven中央仓库地址https://mvnrepository.com/

或者另外一个仓库https://repo.maven.apache.org/maven2/

7.2 本地仓库

默认情况下,Maven下载的jar包(可能说插件更合适)会存放在你电脑的C盘中,我的电脑中便是这里,这是默认仓库

C:\Users\hp(操作系统的用户名)\.m2\repository

但是我们可以自己创建一个中央仓库的地址

首先,我们要修改配置文件

配置文件的位置,所有的配置信息都子啊settings.xml里面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ZfmLSNZ-1609474724128)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210101120318946.png)]

在配置文件中找到

这个路径本来是在注释里面的,将它拿出来

D:\Maven\repository

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WuLZaCUB-1609474724129)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210101120427232.png)]

阿里云镜像

<mirror>
    <id>nexus-aliyun</id>  
    <mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>  
    <name>Nexus aliyun</name>  
    <url>http://maven.aliyun.com/nexus/content/groups/public</url> 
</mirror>

8. Maven常用命令

  1. compile 编译,会在当前目录下生成一个target,里面存放编译主程序之后生成的字节码文件
  2. clean 清理,删除 target目录,但是已经install到仓库里的包不会删除
  3. test 测试,会生成一个目录surefire-reports,保存测试结果
  4. package 打包,打包主程序(会编译,编译测试,测试,并且按照pom.xml配置把主程序打包生成jar包或者war包),打包的内容时 src/main 文件夹下的内容,src/test文件夹下的内容不会被打包
  5. install 安装,会把本工程打包,兵器人按照本工程的坐标保存到本地仓库中
  6. deploy 把jar发布到远程remote(部署主程序)

9. pom文件

即Project Object Model项目对象模型。Maven把一个项目的结构和内容抽象成一个模型,在xml文件中机型生命,以方便进行构建和描述,pom.xml时Maven的灵魂。所以,maven环境搭建好之后,所有的学习和操作都是关于pom.xml的。

10. idea与maven结合使用

虽然在idea中已经设置了maven,但是我们一般不使用内置的,因为内置修改maven的设置不方便。

我们要使用自己安装的maven,就需要覆盖idea中的默认的设置。让idea指定maven安装位置等信息。

配置入口:

settings:配置当前工程

other settings:配置以后新建工程的设置。

首先是在settings中进行如下图配置:
在这里插入图片描述
在这里插入图片描述
然后是在other settings中进行配置,在other settings中的配置和在settings中的配置一样,我只截一张图。
在这里插入图片描述

11. 更多更详细的教程

http://c.biancheng.net/view/4715.html

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐