• Maven简介



    活动地址:CSDN21天学习挑战赛


    作者:进击攻城狮
    个人主页:欢迎访问我的主页
    首发时间:2022年8月2日星期二
    订阅专栏:Maven
    个人信条:星光不问赶路人,岁月不负有心人。
    如果文章有错误,欢迎在评论区指正。
    🎉 支持我:点赞👍+收藏⭐️+留言📝


    在这里插入图片描述

    `在这里插入图片描述


    Maven简介

    什么是Maven

    Apache Maven是一个项目管理工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。

    Maven的作用

    Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。

    项目构建:

    项目构建包括清理,···,编译,测试,报告,打包,部署···等步骤

    理想的项目构建

    高度自动化,跨平台,可重用的组件,标准化

    传统方式管理jar包依赖的问题:

    • jar包冲突
    • jar包依赖
    • jar包体积过大
    • jar包在不同阶段无法个性化配置

    使用maven方式管理jar包依赖的好处:

    • 解决jar包冲突
    • 解决jar包依赖问题
    • jar包不用再每个项目保存,只需要放在仓库即可
    • maven可以指定jar包的依赖范围

    Maven标准目录结构

    img

    Maven的几个核心概念

    POM

    POM(Project Object Model)项目对象模型,一个项目所有的配置都放在POM文件中:定义项目的类型、名字、管理依赖关系,定制插件的行为等等。

    Maven通过pom.xml文件来管理依赖和管理项目的构建生命周期,而项目构建的生命周期是依靠一个个的插件完成的。

    项目对象模型

    Maven仓库

    Maven管理资源的位置。仓库里面包含依赖(jar包)和插件(plug-in)。Maven仓库分为本地仓库和远程仓库,而远程仓库又包括私服和中央仓库。

    Maven仓库
    ----本地仓库
    ----远程仓库
    --------私服
    --------中央仓库
    --------其他公共库

    本地仓库

    用户自己电脑上的仓库,直接从本地获取。

    远程仓库

    私服

    私服是一种特殊的远程仓库,搭建在局域网内的仓库,私服代理广域网的仓库,提供给局域网内的用户使用,可用减少局域网内的用户与外界仓库的传输,每一个jar包只需要拉取一次就可以提供给局域网内所有的用户使用,并且也更加稳定。

    中央仓库

    Maven官方提供的远程仓库,里面拥有最全的jar包资源,Maven首先从本地仓库中寻找项目所需的jar包,若本地仓库没有,再到Maven的中央仓库下载所需jar包。

    Maven仓库

    坐标

    在Maven中,坐标是jar包的唯一标识,Maven通过坐标在仓库中找到项目所需的jar包。

    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-webartifactId>
        <version>2.1.6.RELEASEversion>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    groupId:公司或组织域名倒序
    artifactId:模块名
    version:版本号
    packaging:项目的打包方式(pom/jar/war,默认jar)
    groupId、artifactId、versioin简称GAV(Maven坐标),是用来唯一标识jar包的。

    继承

    1.什么是继承?

    在聚合多个项目时,如果这些被聚合的项目中需要引入相同的Jar,那么可以将这些Jar写入父pom中,各个子项目继承该pom即可。

    2.继承的作用,为了简化pom.xml配置,简化groupId,artifactId, version ,还可以锁定子工程依赖版本。

    如何实现继承?

    父pom配置:将需要继承的Jar包的坐标放入标签即可。

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.google.guavagroupId>
                <artifactId>guavaartifactId>
                <version>28.0-jreversion>
            dependency>
        dependencies>
    dependencyManagement>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 子pom配置:

    • <parent>
          <groupId>父pom所在项目的groupIdgroupId>
          <artifactId>父pom所在项目的artifactIdartifactId>
          <version>父pom所在项目的版本号version>
      parent>
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      生命周期

      Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,初学者容易将Maven的生命周期看成一个整体,其实不然。这三套生命周期分别是:

      **① Clean Lifecycle 在进行真正的构建之前进行一些清理工作。 **Clean生命周期一共包含了三个阶段:

    ② Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。

    ③ Site Lifecycle 生成项目报告,站点,发布站点。

    Maven常用命令

    -v:查询Maven版本

    本命令用于检查maven是否安装成功。

    Maven安装完成之后,在命令行输入mvn -v,若出现maven信息,则说明安装成功。

    compile:编译

    将java源文件编译成class文件

    test:测试项目

    执行test目录下的测试用例

    package:打包

    将项目打成jar包

    clean:删除target文件夹

    install:安装

    将当前项目放到Maven的本地仓库中。供其他项目使用

    1                                  学如逆水行舟,不进则退
    
    • 1

  • 相关阅读:
    深度学习基础--神经网络(1)激活函数
    DO-178C Standard
    云原生架构:面向初学者的完整概述
    小米汽车,能否在新能源汽车江湖站稳脚跟?
    使用MySQL如何查询一年中每月的记录数
    每天五分钟机器学习:神经网络和支持向量机的基础——感知机模型
    子组件给父组件传递数据(vue2)
    牛客 day2 - 7
    linux系统安全配置命令详解
    js对象扁平化:Javascript对象进行扁平化处理
  • 原文地址:https://blog.csdn.net/yi_chen_c/article/details/126130385