IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Maven简介 -> 正文阅读

[Java知识库]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.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.1.6.RELEASE</version>
</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.guava</groupId>
            <artifactId>guava</artifactId>
            <version>28.0-jre</version>
        </dependency>
    </dependencies>
</dependencyManagement>

  • 子pom配置:

  • <parent>
        <groupId>父pom所在项目的groupId</groupId>
        <artifactId>父pom所在项目的artifactId</artifactId>
        <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                                  学如逆水行舟,不进则退

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 10:29:56  更:2022-08-06 10:30:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:33:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码