Maven简介


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


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


Maven简介_第1张图片

`在这里插入图片描述

文章目录

  • Maven简介
    • 什么是Maven
    • Maven的作用
    • Maven标准目录结构
    • Maven的几个核心概念
      • POM
      • Maven仓库
        • 本地仓库
        • 远程仓库
          • 私服
          • 中央仓库
      • 坐标
      • 继承
      • 生命周期
      • 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>

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>

  • 子pom配置:

  • <parent>
        <groupId>父pom所在项目的groupIdgroupId>
        <artifactId>父pom所在项目的artifactIdartifactId>
        <version>父pom所在项目的版本号version>
    parent>
    
    

    生命周期

    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                                  学如逆水行舟,不进则退

你可能感兴趣的:(Maven,maven,java,spring)