Maven安装使用教程

文章目录

  • 前言
  • 一、Maven是什么?
  • 二、Maven 安装
    • 1.检查 JDK 的版本
    • 2.下载 Maven
    • 3.安装 Maven
    • 4.配置环境变量
    • 5.验证 Maven 安装
  • 三、Maven 设置
    • 1.本地仓库
  • 四、IDEA 中 Maven 的配置
  • 五、IDEA 中 构建 JavaSE 项目
    • 1.创建项目
    • 2.选择Maven
    • 3.填写对应内容
    • 4.pom.xml文件
    • 5.依赖如何找呢?
    • 6.常用 Maven 命令
  • 六、IDEA 中 构建 JavaWeb 项目
    • 1.创建项目
    • 2.选择Maven
    • 3.填写对应内容
    • 4.pom.xml
    • 5.添加Web.xml文件
    • 基于Maven 构建的 JavaWeb 项目最终结构
  • 七、概念解释
    • 1.坐标
    • 2.依赖
    • 3.传递性


前言

构建:编译代码,运行测试,打包,部署应用,运行服务器等;
依赖:在没有使用Maven之前,对于依赖(jar包)我们需要在各个平台各个地方进行jar包的下载,然后可能某些依赖(jar包)又会依赖其他的一个依赖(jar包),导致我们在初始构建项目时需要大量的时间去下载这些jar包导入项目中

一、Maven是什么?

Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

二、Maven 安装

1.检查 JDK 的版本

在这里插入图片描述

2.下载 Maven

通过 https://maven.apache.org/docs/history.html
查看 Required Java Version 对应的Maven版本,建议下载加粗的版本【此处选择3.6.3】
Java8以上的JDK版本使用Java7对应的Maven版本
Maven安装使用教程_第1张图片
在 https://archive.apache.org/dist/maven/maven-3/ 找到对应的版本
Maven安装使用教程_第2张图片
选择 binaries
source为源码包,需要的可以自行下载
Maven安装使用教程_第3张图片
根据系统选择下载
Maven安装使用教程_第4张图片

3.安装 Maven

找到对应的目录进行解压(Linux或者MacOS一般把资源解压到 /usr/local,Windows可以把所有跟Java相关的放到某个磁盘的 OpenSource 目录下便于管理),解压即安装完成
Linux解压命令【tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /usr/local】

4.配置环境变量

Linux

vi /etc/profile
export M2_HOME=/usr/local/apache-maven-3.6.3
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
Esc
:wq
source /etc/profile

MacOS

vi ~/.zshrc
export M2_HOME=/usr/local/apache-maven-3.6.3
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
Esc
:wq
source ~/.zshrc

MacOS 如果终端类型是bash,把.zshrc改为.bash_profile
这里不再说明vi编辑器的使用方式,想要了解vi编辑器的同学可以看我另外一篇文章
https://blog.csdn.net/weixin_56878436/article/details/120026082

Windows
配置环境变量,MAVEN_HOME,指向 maven 的根目录;
配置环境变量 path,将 %MAVEN_HOME%\bin 追加到 path 中。
Maven安装使用教程_第5张图片
Maven安装使用教程_第6张图片

5.验证 Maven 安装

在cmd或者终端输入:mvn -v
Maven安装使用教程_第7张图片

三、Maven 设置

1.本地仓库

运行过 Maven 命令才会在你的用户目录生成一个 .m2 目录,该目录下有个目录名 repository,这个就是所谓的本地仓库,本地仓库的默认存放位置,可以先删除掉,主要存放是一些下载的 jar 文件。
如果没有运行过可以到/usr/local/apache-maven-3.6.3/conf/settings.xml拷贝到家目录/.m2
Maven安装使用教程_第8张图片
将settings.xml里面的文件内容改为以下内容
这里需要配置两个东西,忽略不配置也可以

  • 因为中央仓库是国外的,我们从中央仓库下载可能会比较慢,建议配置阿里仓库镜像
  • 本地仓库地址,也就是我们的jar包会下载到的一个位置。因为默认是家目录,Linux和MacOS可以注释不配置(只有一个盘符下载到哪里都一样的,直接注释掉或者删掉 你本地仓库的目录位置 使用默认即可),对于Windows来说默认家目录其实是C盘,大家都知道C盘是系统盘,都下载到C盘可能会导致系统盘太大影响电脑性能,建议改到OpenSource跟Java相关的文件夹中,例如:E:\Java\OpenSource\repository

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    
    <localRepository>你本地仓库的目录位置localRepository>
    <mirrors>
        
        <mirror>
            <id>alimavenid>
            <name>aliyun mavenname>
            <url>http://maven.aliyun.com/nexus/content/groups/public/url>
            <mirrorOf>centralmirrorOf>
        mirror>
    mirrors>
settings>

四、IDEA 中 Maven 的配置

Maven安装使用教程_第9张图片

配置说明
Maven home path:Maven3.6.3对应下载的位置,一般不使用IDEA自带的Maven,因为IDEA内置的Maven可能存在问题,不然我们也不必大费周章去官网重新下载
User settings file:我们在配置第三步的时候在家目录的settings.xml文件中配置了阿里云镜像和本地仓库,因为IDEA默认去检查这个文件夹中的settings.xml文件,所以我们把settings.xml拷贝到家目录/.m2下,目的是为了不修改原来的settings文件,IDEA会优先读取家目录的settings.xml。当然也可以直接修改Maven中conf/settings.xml文件,并且把这个路径修改为Maven中conf/settings.xml,建议这种做法先对原本的settings.xml进行备份以免修改错误导致无法正常运行
Local repository:Windows在第三步的配置中修改了本地仓库下载路径,这里的配置让IDEA去这个路径找依赖,需要点击Override,修改为你下载本地仓库的路径,如:“E:/Java/OpenSource/repository”,让IDEA去“E:/Java/OpenSource/repository”路径下找依赖。如果没有修改本地仓库路径位置,这里无需修改

五、IDEA 中 构建 JavaSE 项目

1.创建项目

2.选择Maven

建议不打勾,不选择骨架,因为选不选择骨架创建的Maven项目都是残缺的,不是标准的Maven项目
如果需要选择骨架可以选择:maven-archetype-quickstart,如果选择了骨架第一次需要等待下载骨架,看网络速度大概10多到20分钟左右
Maven安装使用教程_第10张图片

3.填写对应内容

Maven安装使用教程_第11张图片
填写完信息后,点击 Finish 等待项目构建

4.pom.xml文件

用于填写项目信息,打包方式,添加依赖及插件等
Maven安装使用教程_第12张图片
我们需要在这个文件中添加依赖,比如说:我们加入一个 MySQL 的依赖
我们需要把依赖写在标签 dependenciesdependency 当中定义groupId,artifactId,version


<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>

    <groupId>org.examplegroupId>
    <artifactId>demoartifactId>
    <version>1.0-SNAPSHOTversion>

    <properties>
        <maven.compiler.source>8maven.compiler.source>
        <maven.compiler.target>8maven.compiler.target>
    properties>

    <dependencies>
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>8.0.21version>
        dependency>
    dependencies>
project>

对于IDEA 2020版来说,已经取消了自动导入所以我们添加完了以后需要点击按钮让他加载
Maven安装使用教程_第13张图片

  • 他默认就会去我们的本地仓库进行查找,如果能找到,就直接使用
  • 如果本地仓库没有找到,他就会去阿里云镜像中找到这个依赖进行下载到本地仓库

加载成功后,可以在标记的位置中查看到相关的依赖
Maven安装使用教程_第14张图片

5.依赖如何找呢?

https://mvnrepository.com/

比如说我们想要找MySQL的依赖,直接搜索MySQL
Maven安装使用教程_第15张图片
找到对应的版本,点进去,直接拷贝内容到 pom.xml 文件中,然后刷新让他加载,如果本地仓库没有他就会去阿里云镜像下载
Maven安装使用教程_第16张图片

6.常用 Maven 命令

Maven安装使用教程_第17张图片

六、IDEA 中 构建 JavaWeb 项目

1.创建项目

2.选择Maven

建议不打勾,不选择骨架,因为选不选择骨架创建的Maven项目都是残缺的,不是标准的Maven项目
如果需要选择骨架可以选择:maven-archetype-webapp,如果选择了骨架第一次需要等待下载骨架,看网络速度大概10多到20分钟左右
Maven安装使用教程_第18张图片

3.填写对应内容

填写完信息后,点击 Finish 等待项目构建

4.pom.xml

Maven安装使用教程_第19张图片
添加 Tomcat 插件

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.mavengroupId>
            <artifactId>tomcat7-maven-pluginartifactId>
            <version>2.1version>
            <configuration>
                <port>80port> 
                <path>/path> 
                <uriEncoding>UTF-8uriEncoding> 
            configuration>
        plugin>
    plugins>
build>

5.添加Web.xml文件

第一步:
Maven安装使用教程_第20张图片
第二步:查看有没有Web相关的,如果没有点击上方加号添加一个Web
Maven安装使用教程_第21张图片
第三步:
设置标记webapp为web根目录,爆红双击点击ok即可
Maven安装使用教程_第22张图片
点击添加 web.xml
Maven安装使用教程_第23张图片
注意添加位置,可以拷贝刚刚创建的地址
/Users/zhouxucong/Desktop/Java/JavaWebDemo/src/main/webapp 需要在后面加上/WEB-INF/web.xml
Maven安装使用教程_第24张图片
点击 ok web项目的构建就完成了

如果大家觉得上面这种操作比较麻烦,可以手动创建

  1. 在src.main下创建一个package,名字叫webapp
    Maven安装使用教程_第25张图片

  2. 同样的方式创建一个package,名字叫WEB-INF

  3. 创建一个file,名字叫web.xml
    在这里插入图片描述

  4. 把下面配置拷贝到 web.xml 文件

    
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    web-app>
    

注意:使用这种方式包名和文件名字一定不能输错

基于Maven 构建的 JavaWeb 项目最终结构

Maven安装使用教程_第26张图片

七、概念解释

1.坐标

数学中的坐标
在空间中,使用 X、Y、Z 三个向量可以唯一的定位空间中的任意一个点。

Maven 中的坐标
标识项目或者依赖在仓库中的位置。主要由下面构成:
groupId:项目名称,一般使用公司或组织域名倒写,域名具有唯一性,区分不同公司;
artifactId:项目中 Maven 项目/模块名称,区分同一个公司的项目;
version:项目版本,区分同一个项目不同时期的特点。

2.依赖

配置项目所要依赖的 jar,在 pom.xml 使用 dependency 元素配置,通过坐标先从本地仓库找,若没有再从远程仓库找。

scope
Maven 在编译,测试,运行的时候,各需要一套 classpath(比如编译的时候会有编译的 classpath,测试的时候会有测试的 classpath)。scope 表明该依赖的项目和三个 classpath 的关系,即表示依赖什么阶段起作用,什么阶段不起作用。
scope 主要可选值:
compile:默认,适用于所有阶段,会随着项目一起发布,在编译,测试,运行时都有效;
provided:编译和测试阶段使用;典型的如 servlet-api.jar,打包时不需要,容器来提供;
runtime:测试和运行阶段使用,用于接口和实现分离,典型的如 jdbc 具体驱动实现;
test:测试阶段使用,不会随项目发布,如 junit。

3.传递性

Maven 的依赖是具有传递性的,比如 A -> B,B -> C,那么 A 间接的依赖于 C,这就是依赖的传递性,其中 A 对于 B 是第一直接依赖,B 对于 C 是第二直接依赖,C 为 A 的传递性依赖。依赖的传递性可以解决依赖繁琐的问题。

你可能感兴趣的:(maven,java)