Maven基础知识

Maven基础知识

一、Maven的作用

  • 更方便的导入jar包,避免版本冲突问题

  • 标准项目结构:

  • 标准化的项目构建流程

二、Maven的安装和集成

  • 安装步骤:

    1. 下载并解压 apache-maven-3.9.11-bin.zip

    2. 配置本地仓库:修改 conf/settings.xml 中的 为一个指定目录。

      xml 复制代码
      <localRepository>D:\JAVA\develop\apache-maven-3.9.11\mvn_repo</localRepository> 
      <!-- 此处设置为自己的目录用于下载jar包 -->
    3. 配置阿里云私服:修改 conf/settings.xml 中的标签,为其添加如下子标签:

      xml 复制代码
      <mirror>
      	<id>alimaven</id>
      	<name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>centralrOf>
      </mirror>
    4. 配置环境变量:MAVEN_HOME为maven的解压目录,并将其bin目录加入PATH环境变量

      • 在命令行中执行mvn -v测试Maven是否安装成功
  • VScode创建maven项目

    参考文章:(43 封私信) 配置 Maven 并创建项目-VScode - 知乎

三、依赖管理

3.1 依赖配置

  • 依赖:指当前项目运行所需要的jar包,一个项目中可以引入多个依赖

  • 配置:

    1. 在pom.xml中编写标签
    2. 在标签中使用引入坐标
    3. 定义坐标的 groupId, artifactId, version
    4. 点击刷新,引入最新加入的坐标
xml 复制代码
<dependencies>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>
</dependencies>
  • 如果不知道依赖的坐标信息,可以到maven网站搜索

3.2 依赖传递

  • 依赖具有传递性
    • 直接依赖:在当前项目中通过依赖配置建立的依赖关系
    • 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
  • VScode需要对依赖传递的项目,从最底层依赖,进入到对应文件根目录,依次向上执行

    cmd 复制代码
    mvn clean install

    最后能在maven控制面板中看到依赖传递

  • 排除依赖:主动断开依赖的资源,被排出的资源无需指定版本

    xml 复制代码
        <dependencies>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>1.2.3</version>
            </dependency>
    
            <dependency>
                <groupId>com.itheima</groupId>
                <artifactId>maven-projectB</artifactId>
                <version>1.0-SNAPSHOT</version>
                <!-- 排除依赖-->
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>

3.3 依赖范围

  • 依赖的jar包,默认情况下可以再任何地方使用,可以使用...设置其作用范围

3.4 生命周期

  • Maven生命周期就是为了对所有的maven项目构建过程进行抽象和统一

  • Maven中有三套相互独立的生命周期

    • clean:清理工作
    • default:核心工作,如编译,测试,打包,安装,部署等
    • site:生成报告、发布站点等
  • 五个重要的生命周期阶段:

    • clean:移除上一次构建生成的文件
    • compile:编译项目源代码
    • test:使用合适的单元测试框架运行测试(junit)
    • package:将编译后的文件打包,如:jar、war
    • install:安装项目到本地仓库
  • 在Maven面板中 lifecycle中双击需要执行的阶段即可。

java 复制代码
// 测试生命周期中的test操作
package com.zcn;

import org.junit.Test;

public class DemoTest {
    @Test
    public void test1() {
        System.out.println("hello test1");
    }

    @Test
    public void test2() {
        System.out.println("hello test2");
    }

    @Test
    public void test3() {
        System.out.println("hello test3");
    }
}
相关推荐
S***q3771 小时前
【Springboot】@Autowired和@Resource的区别
java·spring boot·mybatis
南部余额1 小时前
SpringBoot自定义场景启动器
java·spring boot·场景启动器
p***s911 小时前
【SpringBoot】日志文件
java·spring boot·spring
z***D6481 小时前
SpringBoot 新特性
java·spring boot·后端
冷雨夜中漫步1 小时前
Maven BOM(Bill of Materials)使用指南与常见错误
java·数据库·maven
客梦1 小时前
Java教室管理系统
java·笔记
拼好饭和她皆失1 小时前
Java学习---Arrays类
java·开发语言·学习
BUTCHER51 小时前
maven插件
java·maven