JavaWeb与Maven初学者的完美结合:入门指南

发表时间: 2024-06-18 17:32

Maven概述

  • Maven是专门用于管理和构建Java项目的工具
  • 提供了一套标准化的项目结构
  • 提供了一套标准化的构建流程(编译,测试,打包,发布..)
  • 提供了一套依赖管理机制
  • 仓库分类:

① 本地仓库:自己计算机上的一个目录

② 中央仓库:由Maven团队维护的全球唯一的仓库

③ 远程仓库(私服):一般由公司团队搭建的私有仓库

Maven模型配图


Maven 安装配置

  • 下载解压 apache-maven-3.6.1.rar 既安装完成
  • 配置环境变量 MAVEN HOME 为安装路径的bin目录
  • 配置本地仓库:修改 conf/settings.xml中的<localRepository>为一个指定目录
  <localRepository>D:\wwwroot\Java\javasepro\apache-maven-3.6.1\mvn_resp</localRepository>
  • 配置阿里云私服:修改 conf/settings.xml中的<mirrors>标签,为其添加如下子标签
<mirror>      <id>alimaven</id>      <name>aliyun maven</name>      <url>http://maven.aliyun.com/nexus/content/groups/public</url>      <mirrorOf>central</mirrorOf></mirror>

Maven 基本使用

  • Maven常用命令,compile:编译、clean:清理、test:测试、package:打包、instal:安装
  • Maven 生命周期

① Maven 构建项目生命周期描述的是一次构建过程经历经历了多少个事件

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

-clean:清理工作

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

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

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

Maven生命周期配图


Maven 坐标详解

  • 什么是坐标

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

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

  • Maven 坐标主要组成

① groupld:定义当前Maven项目隶属组织名称

② artifactld:定义当前Maven项目名称(通常是模块名称)

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


Maven依赖管理

  • 在 pom.xml 中编写<dependencies>标签
  • 在<dependencies>标签中 使用<dependency>引入坐标
  • 定义坐标的 groupldartifactldversion
  • 点击刷新按钮,使坐标生效
<?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>    <!-- 示例 演示导入mysql驱动包 -->    <dependencies>        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>8.0.12</version>						<scope>compile</scope>        </dependency>    </dependencies></project>
  • 通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境

依赖范围说明配图