Maven是专门用于管理和构建Java项目的工具

117 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情

Maven 简介 Maven的作用:

Maven是专门用于管理和构建Java项目的工具

它的主要功能有:

提供了一套标准化的项目结构

提供了一套标准化的构建流程(编译,测试,打包,发布……)

提供了一套依赖管理机制

仓库的分类 仓库分为三类

本地仓库

远程仓库

中央仓库

jar包的查找顺序则变为: 本地仓库 -> 远程仓库 ->中央仓库

Maven 坐标 Maven 中的坐标是资源的唯一标识

使用坐标来定义项目或引入项目中需要的依赖

Maven 坐标主要组成

groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)

artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)

version:定义当前项目版本号

简称:GAV

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.27</version>
    </dependency>

Maven 常用命令 compile :编译(生成target)

clean:清理(清理掉编译生成的target)

test:测试(执行测试代码)

package:打包(将maven打包成jar包)

install:安装 (将jar发布到仓库中)

测试中的注意事项

不注意规范会报错

public class TestMaven {
    @Test
    public void test1(){
        //1.文件类名一定要是Test开头
        //2.方法名也要有test
        //打印不要有中文,一般自动化测试也用不到打印,一般使用断言来判断是否达到预期
        System.out.println("Hello Maven");
    }
}

Maven 生命周期 Maven 对项目构建的生命周期划分为3套

clean:清理工作

default:核心工作,例如编译,测试,打包,安装等

site:产生报告,发布站点等

同一生命周期内,执行后边的命令,前边的所有命令会自动执行

例如说,我执行test,就会把前面的compile先执行

依赖管理 通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围。

compile : 默认值,在编译,运行,测试中都可生效

test : 只在测试类中有效,在编译和运行中无效

provided : 编译和测试有效,在运行时无效,也就是说编译可通过,运行出错。

runtime: 在测试和运行中有效,在编译中无效,常用作不需要编译的部分,例如jdbc驱动,我们jdbc代码全是java自带的,编译可通过,必须引入驱动,否则报错。

删除Maven 项目 不要直接右键delete,这样引入的依赖还没删除,先删掉依赖,再删除maven

可以直接在idea右侧maven中删除

选中要删除的maven,右键,然后点击图中红框

导入项目 直接导入pom.xml文件即可。

最后 如果你对本文有疑问,你可以在文章下方对我留言,敬请指正,对于每个留言我都会认真查看。