首页 > 其他分享 >Maven

Maven

时间:2022-11-25 10:35:35浏览次数:62  
标签:依赖 项目 仓库 jar Maven 构建

1. Maven

Maven是专门用于管理和构建Java项目的工具,它的主要功能有:

  • 提供了一套标准化的项目结构

  • 提供了一套标准化的构建流程(编译,测试,打包,发布……)

  • 提供了一套依赖管理机制

标准化的项目结构:

项目结构我们都知道,每一个开发工具(IDE)都有自己不同的项目结构,它们互相之间不通用。我再eclipse中创建的目录,无法在idea中进行使用,这就造成了很大的不方便,如下图:前两个是以后开发经常使用的开发工具

img

Maven提供了一套标准化的项目结构,所有的IDE使用Maven构建的项目完全一样,所以IDE创建的Maven项目可以通用。如下图右边就是Maven构建的项目结构。

img

标准化的构建流程:

img

如上图所示我们开发了一套系统,代码需要进行编译测试打包发布,这些操作如果需要反复进行就显得特别麻烦,而Maven提供了一套简单的命令来完成项目构建。

依赖管理:

依赖管理其实就是管理你项目所依赖的第三方资源(jar包、插件)。如之前我们项目中需要使用JDBC和Druid的话,就需要去网上下载对应的依赖包(当前之前是老师已经下载好提供给大家了),复制到项目中,还要将jar包加入工作环境这一系列的操作。如下图所示

img

而Maven使用标准的 坐标 配置来管理各种依赖,只需要简单的配置就可以完成依赖管理。

img

如上图右边所示就是mysql驱动包的坐标,在项目中只需要写这段配置,其他都不需要我们担心,Maven都帮我们进行操作了。

市面上有很多构建工具,而Maven依旧还是主流构建工具,如下图是常用构建工具的使用占比

img

1.1 Maven简介

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

官网 :http://maven.apache.org/

通过上面的描述大家只需要知道Maven是一个工具即可。Apache 是一个开源组织,将来我们会学习很多Apache提供的项目。

1.1.1 Maven模型

  • 项目对象模型 (Project Object Model)
  • 依赖管理模型(Dependency)
  • 插件(Plugin)

img

如上图所示就是Maven的模型,而我们先看紫色框框起来的部分,他就是用来完成 标准化构建流程 。如我们需要编译,Maven提供了一个编译插件供我们使用,我们需要打包,Maven就提供了一个打包插件提供我们使用等。

img

img

1.1.2 仓库

大家想想这样的场景,我们创建Maven项目,在项目中使用坐标来指定项目的依赖,那么依赖的jar包到底存储在什么地方呢?其实依赖jar包是存储在我们的本地仓库中。而项目运行时从本地仓库中拿需要的依赖jar包。

仓库分类:

  • 本地仓库:自己计算机上的一个目录

  • 中央仓库:由Maven团队维护的全球唯一的仓库

  • 远程仓库(私服):一般由公司团队搭建的私有仓库

    今天我们只学习远程仓库的使用,并不会搭建。

当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:

  • 如果有,则在项目直接引用;

  • 如果没有,则去中央仓库中下载对应的jar包到本地仓库。

img

如果还可以搭建远程仓库,将来jar包的查找顺序则变为:

本地仓库 --> 远程仓库--> 中央仓库

img

1.2 Maven安装配置

标签:依赖,项目,仓库,jar,Maven,构建
From: https://www.cnblogs.com/NorthPoet/p/16924354.html

相关文章

  • Maven安装配置
    Maven安装配置第一步:解压解压apache-maven-3.6.1.rar既安装完成解压缩后的目录结构如下:bin目录:存放的是可执行命令。mvn命令重点关注。conf目录:存放Ma......
  • JavaWeb+SVN+Maven+Tomcat +jenkins实现自动化部署
       在日常开发项目中常见的开发模式是使用代码库来存放我们的项目例如:SVN、Git、CVS等,采用Maven来进行项目管理而需要在测试和发布项目的时候需要手动打包然后部署到服......
  • Maven中mirrors和repository的关系
    1.pom.xml里的repositories元素,里面可以包含多少repository(至少默认包含了中央仓库, 该仓库总是在effective-pom里repositories元素的最后一个子元素), 每个repository......
  • Maven的Mirror和Repository 的详细讲解
    1Repository(仓库) 1.1Maven仓库主要有2种:remote repository:相当于公共的仓库,大家都能访问到,一般可以用URL的形式访问localrepository:存放在本地磁盘的一个文件夹,例如,win......
  • Maven学习-Profile详解
    Profile能让你为一个特殊的环境自定义一个特殊的构建;profile使得不同环境间构建的可移植性成为可能。Maven中的profile是一组可选的配置,可以用来设置或者覆盖配置默认值。有......
  • maven制作archetype(原型)
    1.在本地新建第一个符合公司规范的maven项目2.创建archetype到本地仓库因为idea会生成很多不必要的文件,所以首先创建一个archetype.properties,配置需要过滤的文件#打包过滤......
  • Maven内网配置本地仓库
    1、由于工作时是在内网环境,maven无法连接互联网,所以只能事先将jar下载到本地,然后通过配置pom文件,将jar引用至本地仓库即可;2、找到本地的springboot父类包;3、修改此文件......
  • Maven之自定义pom类型的基础项目
    摘要:在当前的软件开发场景中,大都是通过maven管理项目,而如果使用maven的话,其实也会有很多问题,比如项目中依赖的版本管理就是一个很头疼的事,如果一个......
  • Maven学习记录之maven基本操作命令,maven本地工厂的创建,maven骨架的生成,以及在eclipse
    摘要:今天又学习了一下maven,之前是下载并安装和配置好了maven的环境,今天主要学习的内容包括:maven本地工厂的创建,maven骨架的生成命令,maven在dos下创建maven工程,以及在eclipse......
  • Maven 3.0.5 安装和配置:
    摘要:现在的Web项目越来越多的都用maven管理了,所以我也抽时间学习学习,为了赶上时代!一:首先到maven官网:​​http://maven.apache.org/​​,然后选择相应的版本下载,我这里下载的......