【JavaWeb】——Maven学习笔记

<<回到导览

Maven

Mave的作用:

  1. 方便的依赖管理:方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题

  2. 统一的项目结构:提供标准、统一的项目结构

  3. 标准化的项目构建:标准跨平台(Linux、Windows、MacOs)的自动化项目构建方式

Maven官网

在这里插入图片描述

1. Maven概述

1.1.安装配置Maven

Maven下载

解压缩后,配置maven

配置解压目录\conf\settings.xml

  1. 配置本地仓库

    <!-- 这里要新建文件夹作为本地仓库的目录,这里我创建的是文件夹mvn_repo -->
    <localRepository>D:\APP\Maven\apache-maven-3.9.9-bin\apache-maven-3.9.9\mvn_repo</localRepository>
    
  2. 配置阿里云私服

    <mirrors>
        <!-- 阿里云私服 -->
        <mirror>
          <id>alimaven</id>
          <mirrorOf>central</mirrorOf>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </mirror>
    </mirrors>
    
  3. 配置环境变量

    在这里插入图片描述

    控制台输入mvn -v,系统如果识别这条命令成功,则说明环境变量配置成功

1.2.创建Maven项目
  1. 在创建项目时引入Maven

    在这里插入图片描述

  2. 在已有项目中引入Maven

    在这里插入图片描述

    在项目根目录下添加pom.xml,并配置该文件(按自己的需求配置)

    <?xml version="1.0" encoding="UTF-8"?>
    <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>
    
        <groupId>org.example</groupId>
        <artifactId>maven_demo</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <properties>
            <maven.compiler.source>21</maven.compiler.source>
            <maven.compiler.target>21</maven.compiler.target>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
    </project>
    

    添加Maven项目:帮助 => 查找操作 => 添加maven项目,如果有下图的maven图标,则引入成功

    在这里插入图片描述

1.3.项目结构介绍

src下有两个文件夹,一个是main(资源),一个是test(测试所需资源)

java文件夹下存放是所编写的java源代码,resources文件夹存放的是配置文件

test/resources默认没有创建,可以自己创建

在这里插入图片描述

  1. 我们在src/main/java下创建项目com.jia.demo(你自己可以改包名)
  2. 在demo.java中随便编写一个java程序并运行
  3. 运行后,项目根目录下生成文件夹target,用于存放我们代码编译产生的字节码文件

2.依赖管理

2.1.Maven坐标
  1. Maven 中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置。
  2. 使用坐标来定义项目引入项目中需要的依赖

Maven坐标主要组成:

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

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

  • version:定义当前项目版本号

    在这里插入图片描述

2.2.依赖配置

Mavn仓库网站

添加依赖后,刷新Maven,依赖项出现要添加的依赖,则依赖配置成功

2.3.依赖传递

依赖传递的概念类似于javaee中的类的继承

直接依赖:当前项目中通过依赖配置建立的依赖配置建立的依赖关系

间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

在这里插入图片描述

在这里插入图片描述

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

    在这里插入图片描述

    如果junit依赖被排除,则通过项目B传递下来的依赖junit不会被传递给该项目

2.4.依赖范围

依赖的jar包,默认情况下,可以在任何地方使用。可以通过 <scope> 设置其作用范围

作用范围:

  • 主程序范围有效。(main文件夹范围内)
  • 测试程序范围有效。(test文件夹范围内)
  • 是否参与打包运行。(package指令范围内)
scope值主程序测试程序打包(运行)范例
compile(默认)log4j
testjunit
providedservlet-api
runtimejdbc驱动
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
    <scope>test</scope>
</dependency>
2.5.生命周期

Maven中有3套相互独立的生命周期:

  • clean:清理工作。
  • default:核心工作,如:编译、测试、打包、安装、部署等。
  • site:生成报告、发布站点等。
生命周期阶段说明所属生命周期
clean移除上一次构建生成的文件clean
compile编译项目源代码default
test使用合适的单元测试框架运行测试default
package将编译后的文件打包default
install安装项目到本地仓库default

同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行

运行生命周期:双击Maven生命周期即可

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值