Maven:Maven的学习与总结

Maven

1. 什么是 Maven

Maven 是一个项目管理工具,可以通过一小段描述信息来管理项目的构建、报告和文档的项目管理工具软件,换句话说,Maven 主要服务于 Java 平台的项目构建、依赖管理以及项目信息管理等。

Maven 主要包含一下几部分内容:

  • 一个项目对象模型(Project Object Model)
  • 一组标准集合
  • 一个项目生命周期(Project Lifecycle)
  • 一个依赖管理系统(Dependency Management System)
  • 用来运行定义在生命周期阶段(phase)中插件(plugin)目标的逻辑

2. 什么是项目构建?

在项目开发中,我们除了编写代码,还需要编译(将源代码转化成宿主浏览器可以执行的代码)、单元测试(对项目中的每一小块的功能检查和验证)、生成文档、打包以及部署等工作,这些操作就属于构建。我们希望可以提供一个全自动化的实现这些功能的工具,能让我们花较少的时间去完成这些工作,减轻负担,提高开发效率。

3. 项目构建工具

Apache Ant

Apache Ant 是一个将软件编译、测试、部署、等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,由 Apache 软件基金会所提供

Maven

Maven 项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档软件。Maven 专注于依赖管理,支持从网络上下载 Jar 包的功能。

Gradle

Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建开源工具,它继承了 Ant 的灵活和 Maven 的生命周期管理,抛弃了基于 XML 的各种繁琐配置,采用了 DSL 格式,使得构建过程变得十分灵活。

4. Maven 的四大特征

4.1 核心特征:依赖管理

Maven 引入了一个依赖管理系统,需要哪些 Jar 包,只要从 Maven 仓库中拷贝下来粘贴到配置文件中,保存即可自动下载对应的 Jar 包。任何基于 Maven 构建的项目,必须要定义以下三个属性,组成一个唯一标识的依赖,且每一个依赖必须放入<dependencies></dependcies>中。

<dependencies>
    <dependency>
        <groupId>xxx</groupId>
        <artifactId>xxx</artifactId>
        <version>xxx</version>
    </dependency>
</dependencies>

其中

groupId:定义当前 Maven 项目隶属的实际项目的公司名称(一般为公司域名的反写)

artifactId:定义实际项目中的一个 Maven 模块的项目名

version:定义当前 Maven 项目所处的版本

Maven 坐标为各种组件引入了秩序,任何一个组件都必须明确定义自己的坐标。

Maven 仓库地址:Maven Repository: Search/Browse/Explore (mvnrepository.com)

4.2 多模块构建

在实际开发中,一个项目会包含很多模块,将整个项目拆分为若干个模块,成为一种通用的开发方式。

在 Maven 项目中,可以定义一个父模块作为作为项目的聚合模块,使用<modules></modules>标签可以定义一组子模块,这些子模块可以直接继承父模块的相关配置以及所有的依赖。

4.3 一致的项目结构

创建一个普通的项目,在 IDEA、MyEclipse 等编译器里生成的目录是不同的,同一个项目在更换编译器的时候由于生成目录不同,很难运行。但是创建 Maven 项目,可以很好的解决生成目录的问题,因为它在任何一个 idea 中创建项目的目录结构是一样的。

4.4 一致的构建模型和插件机制

通过统一的 pom.xml 配置文件来配置 Tomcat、Jetty 等插件,无需之前繁琐的服务器配置、Servlet 配置,使用起来十分方便。

5. Maven 的安装配置

  1. 检查 JDK 的版本

    按 win+R 快捷键打开运行弹框

    输入 cmd,鼠标单击“确定”按钮,或者按回车键,打开命令提示符

    输入 java -version,查看 JDK 版本号,基本使用 JDK 1.8 以上

  2. 下载 Maven

    Maven 的下载地址为:Maven – Download Apache Maven,Maven 下载下来解压后存放的目录不要有中文和空格。

  3. 配置 Maven 的环境变量

    右击电脑属性,找到高级系统设置

    在系统变量里面新建一个变量,指向 Maven 目录

    在系统变量里找到 Path,双击打开,添加两行配置信息。(JDK 环境变量的配置类似)

  1. 检查 Maven 是否安装成功

    按 win+R 快捷键打开运行弹框

    输入 cmd,鼠标单击“确定”按钮,或者按回车键,打开命令提示符

    输入 mvn -version,按回车键执行

6. Maven 项目的目录结构

  1. 首先是根目录下

    src :主要用来存放项目的源代码文件

    target:项目在编译后会生成的一个目录,存放项目编译后生成的 .class 文件

    pom.xml:Maven 项目的核心配置文件,主要用于配置依赖坐标等相关信息

  2. src 目录下

    main:该目录下有两个子文件夹

    Java:用来存放 Java 源代码文件

    resources:用来存放该项目的一些配置文件

    test:该目录下也有两个子文件夹

    Java:用来存放 Java 测试类的源代码文件

    resources:用来存放测试时使用到的一些配置文件

7. Maven 的常用命令

mvn archetype:generate 创建 Maven 项目

mvn compile 编译源代码

mvn deploy 发布项目

mvn test-compile 编译测试源代码

mvn test 运行应用程序中的单元测试

mvn site 生成项目相关信息的网站

mvn clean 清除项目目录中的生成结果

mvn package 根据项目生成的 jar

mvn install 在本地 Repository 中安装 jar

mvn eclipse:eclipse 生成 eclipse 项目文件

mvnjetty:run 启动 jetty 服务

mvntomcat:run 启动 tomcat 服务

mvn clean package -Dmaven.test.skip=true 清除以前的包后重新打包,跳过测试类

posted @ 2022-01-20 17:21  亦浮云  阅读(97)  评论(0)    收藏  举报