Maven 笔记

[toc]

视频:maven入门教程

0、Maven的作用:

  • 管理依赖,帮助清理、编译、测试、打包、部署项目。
  • 可以批量编译.java程序javac命令只能1次编译1个文件)

1、Maven的目录结构

目录结构

maven的工作方式


2、安装、配置 Maven

  1. 前提:确保已经配置好JDK的环境。

  2. 下载链接:maven官网下载

  3. 新建环境变量Maven_Home,并将该环境变量指向安装目录(bin的上一级)

  4. %Maven_Home%\bin加入环境变量的Path中。

  5. 设置maven的 Mirror 镜像

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!--
    maven的安装目录" /conf/settings.xml "文件中,

    找到mirrors标签:
    -->


    <mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
  6. 设置项目的JDK版本,pom.xml 文件的 project标签内添加以下内容:【此方式只能配置1个项目】

    1
    2
    3
    4
    5
    6
        
    <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>12</maven.compiler.source>
    <maven.compiler.target>12</maven.compiler.target>
    </properties>

3、编译、运行 Maven项目

  • cmd进入Maven项目目录(pom.xml所在的那一层),输入:mvn compile
  • 进入编译生成的 target/classes/ 目录
  • cmd 输入 java 包名.类文件名
  • cmd中自动运行java程序

4、POM.xml文件

pom:project object model项目对象模型,是maven的灵魂。maven将项目当作1个模型处理。maven通过pom.xml文件来实现项目的构建和依赖的管理。

pom.xml实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?xml version="1.0" ?>

// 根标签
<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.0</modelVersion>

// 坐标:确定资源,是资源的唯一标识(由3个部分组成,简称 gav)
<groupId>com.cyw</groupId> // 公司的标识,常写为公司域名的倒写
<artifactId>Hello</artifactId> // 项目名称,如果groupid中已有项目名,则此处填写子项目名
<version>0.0.1-SNAPSHOT</version> // 项目版本,由3部分组成:主版本.次版本.小版本号【SNAPSHOT表示:不稳定版】
<packaging>jar</packaging> // 项目的打包类型(jar【默认】,war,ear)

// 项目名
<name>Hello</name>

// 依赖环境
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
</dependencies>

// 编译设置
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>12</maven.compiler.source>
<maven.compiler.target>12</maven.compiler.target>
</properties>
</project>

1、每个项目都需要有自己的 gav【在pom.xml文件中的3个坐标标签】

gav的示例:

  • <groupId>com.cyw</groupId>:公司的标识,常写为公司域名的倒写。
  • <artifactId>Hello</artifactId> :项目名称,如果groupid中已有项目名,则此处填写子项目名。
  • <version>0.0.1-SNAPSHOT</version>:项目版本,由3部分组成:主版本.次版本.小版本号【SNAPSHOT表示:不稳定版】

2、项目所需的Jar包也需要在pom.xml中有gav作为唯一标识。

1
2
3
4
5
6
7
8
9
10
11
12


<dependencies>
// 依赖jar包的 gav,【gav可以从 mvnrepository仓库 中获取】
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>

</dependencies>

3、gav可以从 mvnrepository仓库中获取:mvnrepository官网

搜索maven的gav详细的步骤:

  • 搜索JAR包
  • 点击所需的版本号
  • 复制 gav信息

5、依赖

依赖:所需的 jar包。由dependence 和 gav 标签组合。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

<dependencies>
// 依赖jar包的 gav,【gav可以从 mvnrepository仓库 中获取】
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>

// 第2个依赖包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>

</dependencies>

6、仓库

仓库是存东西的,Maven的仓库中存放的是

  • Maven自己的Jar包
  • 第三方的Jar包
  • 自己编写并打包的Jar包

仓库的分类:

  • 本地仓库:自己电脑上的某个目录,默认路径:系统账户目录/.m2/repository

1、修改本地仓库的配置文件:

本地仓库没有所需的Jar包时,才从网络上下载。

  • 创建1个文件夹作为本地仓库的根目录(不能为中文)
  • 修改Maven工具的settings文件<localRepository>修改后的路径</localRepository>

7、Maven的命令:

maven的命令是通过插件来实现的。插件也就是一些Jar包

Maven的生命周期命令:【清理、编译、测试、打包、安装、部署】

  1. mvn clean :清除上次生成编译生成的 target 目录

  2. mvn complie :编译,将src/main/java/下的java文件编译为class文件,放入到/target/classes/目录下(即:复制到 classpath 中)

  3. mvn test-complie :(单元测试)编译/src/test/java下的java文件

  4. mvn package:打包,打包成jar 或 war,生成的文件名(artifactId-version-packaging

  5. mvn install:安装,将打包后的文件添加到Maven仓库中。

  6. mvn deploy:部署


单元测试:测的是方法。

步骤:

  1. 在项目的pom.xml中添加依赖标签
  2. /src/test/java中编写测试类:类名以Test开头,方法public void,包名与原来的类相同。

8、IDEA 集成 Maven

idea中已经有了自带的maven,但是修改麻烦,所以需要我们自己集成1个maven。

集成maven的步骤:

  1. file => settings => build => buildTools => maven
  2. 设置maven的安装目录,settings配置文件,本地仓库路径

idea中集成maven

idea集成maven-2

idea集成maven-3