文章目录

  • 前言
  • 一、简介
  • 二、Maven安装配置
  • 三、Maven POM
  • 三、IDEA配置Maven
  • 四、IDEA新建Maven项目
  • 五、Maven坐标:
  • 六、Maven依赖
  • 依赖声明
  • 获取依赖坐标


前言

以为我是打算学Spring的,只是用Maven仓库添加依赖,所以只是看了Maven的皮毛。不过对于想用Maven添加依赖而不是导入一大堆jar包的项目够用了

一、简介

  1. Maven是一款 基于 Java 平台的项目管理和整合工具,它将项目的开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。
  2. Maven 是使用 Java 语言编写的, 同样具有跨平台性
  3. Maven 能够帮助开发者完成以下任务:
  • 构建项目
  • 生成文档
  • 创建报告
  • 维护依赖
  • 软件配置管理
  • 发布
  • 部署
  1. Maven 简化并标准化了项目构建过程。它将项目的编译,生成文档,创建报告,发布,部署等任务无缝衔接,构建成一套完整的生命周期
  2. Maven 的主要目标 :
  • 一个可重复使用,可维护且易于理解的项目综合模型
  • 与此模型进行交互的工具和插件
  1. Maven对项目的目录结构、测试用例命名方式等内容都做了规定,Maven 项目构建过程中,会自动创建默认项目结构,开发人员仅需要在相应目录结构下放置相应的文件.
    表:项目源代码文件,资源文件和其他配置在 Maven 项目中的默认位置。

文件

目录

Java 源代码

src/main/java

资源文件

src/main/resources

测试源代码

src/test/java

测试资源文件

src/test/resources

打包输出文件

target

编译输出文件

target/classes

二、Maven安装配置

  1. 具有java环境:
  • jdk的安装与配置
  • idea的安装与配置:idea 2020.1(包含激活插件)
    链接:https://pan.baidu.com/s/1KzwGq2azLBf_2o7tQiMwSg?pwd=csdn
    提取码:csdn
  1. https://maven.apache.org/download.cgi 下载maven
  2. 配置系统环境变量MAVEN_HOME(参考配置JDK环境变量)
  3. 在命令提示符下执行 mvn -version ,输出结果如下图所示,证明 Maven 配置成功。

idea 重新加载maven包 idea加载maven包原理_xml

三、Maven POM

  1. POM(Project Object Model,项目对象模型)是 Maven 的基本组件,它是以 xml 文件的形式存放在项目的根目录下,名称为 pom.xml。
  2. POM 中定义了项目的基本信息,用于描述项目如何构建、声明项目依赖等等。
  3. 当 Maven 执行一个任务时,它会先查找当前项目的 POM 文件,读取所需的配置信息,然后执行任务。在 POM 中可以设置如下配置:
  • 项目依赖
  • 插件
  • 目标
  • 构建时的配置文件
  • 版本
  • 开发者
  • 邮件列表
  1. 在创建 POM 之前,首先要确定工程组(groupId),及其名称(artifactId)和版本(version),在仓库中这些属性是项目的唯一标识。 (GAV)
  2. POM示例:
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>net.biancheng.www</groupId>
    <artifactId>maven</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</project>

所有的 Maven 项目都有一个 POM 文件,所有的 POM 文件都必须有 project 元素和 3 个必填字段:groupId、artifactId 以及 version。

实际开发过程中,Maven 的 pom.xml 文件不需要手工编写,Maven 提供了大量的原型(Archetype)插件来创建项目,包括项目结构和 pom.xml。

节点

描述

groupId

项目组 ID,定义当前 Maven 项目隶属的组织或公司,通常是唯一的。它的取值一般是项目所属公司或组织的网址或 URL 的反写,例如 net.biancheng.www。

artifactId

项目 ID,通常是项目的名称。groupId 和 artifactId 一起定义了项目在仓库中的位置。

version

项目版本。

三、IDEA配置Maven

  1. 配置maven(目录/配置文件/本地仓库)

idea 重新加载maven包 idea加载maven包原理_java_02


idea 重新加载maven包 idea加载maven包原理_maven_03


2. Maven配置阿里云镜像:

maven/conf/setting.xml中修改为

<mirror>
   <id>alimaven</id>
   <name>aliyun maven</name>
   <url>![img](images/8LDO48C$8@%5BGWU0353$FOVS.png)http://maven.aliyun.com/nexus/content/groups/public/</url>
   <mirrorOf>central</mirrorOf>
  </mirror>

四、IDEA新建Maven项目

  1. 选择模型
  2. 配置项目名称和GAV
  3. 设置 Maven 的主目录和本地仓库信息
  4. Maven 项目目录结构:

idea 重新加载maven包 idea加载maven包原理_maven_04

  1. 目录及文件说明:
  • helloMaven:项目名,包含 src 文件夹和 pom.xml。
  • src/main/java:用于存放项目的 Java 文件。
  • src/main/resources:用于存放项目资源文件。
  • src/test/java:用于存放所有测试 Java 文件,如 JUnit 测试类。
  • src/test/resources :用于存放测试资源文件。
  • target:项目输出位置,用于存放编译后的文件。
  • pom.xml:Maven 项目核心配置文件。

五、Maven坐标:

世界上任何一个构件都可以使用 Maven 坐标并作为其唯一标识,Maven 坐标包括 groupId、artifactId、version、packaging 等元素,只要用户提供了正确的坐标元素,Maven 就能找到对应的构件。

<project> 
        //项目组ID,取值一般是项目所属公司或组织的网址或 URL的反写
        <groupId>net.biancheng.www</groupId>
        //项目 ID,通常是项目的名称。
        <artifactId>helloMaven</artifactId>
        //项目的打包方式,默认值为 jar。 
        <packaging>jar</packaging>
        //版本
        <version>1.0-SNAPSHOT</version>
    </project>

以上 4 个元素中 groupId、artifactId 和 version 是必须定义的,packaging 是可选的

六、Maven依赖

依赖声明

当 Maven 项目需要声明某一个依赖时,通常只需要在其 POM 中配置该依赖的坐标信息,Maven 会根据坐标自动将依赖下载到项目中。

例如,某刻项目使用servlet-api作为其依赖:在pom.xml的标签中添加坐标

<dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
获取依赖坐标

绝大部分依赖的 Maven 坐标都能在 https://mvnrepository.com/ 中获取。

  1. 首页搜索依赖
  2. 选择合适版本,将依赖详情页下方Maven坐标复制到pom.xml中