Maven 介绍

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Maven 介绍

3.png

什么是 maven

Maven是 Apache 下的一个纯 Java 开发的开源项目,是一个项目构建和管理的工具。它提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。 Maven是一个项目构建工具,它简化和标准化项目建设过程,处理编译, 分配, 文档, 团队协作和其他任务的无缝连接。Maven增加可重用性并负责建立相关的任务。


Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。


Maven可以对Java项目进行构建、依赖管理,它也可被用于构建和管理各种项目,例如C#、Ruby、Scala和其他语言编写的项目。Maven能够帮助开发者进行项目构建、依赖管理、文档生成等任务,提高开发效率。


使用Maven可以很方便地管理项目的构建、报告和文档,并且可以自动下载项目所需的依赖库,使得开发人员可以将更多的精力投入到开发工作中,而不是手动管理项目的构建和依赖。

为什么要选择maven

选择使用Maven的原因主要有以下几点:


统一的项目结构:Maven为所有的项目提供了一个统一的目录结构,使得项目的管理变得更为简单和清晰。


强大的依赖管理:Maven能够很好地管理项目的依赖关系,它可以帮助开发者自动下载和安装项目所需的依赖库,避免了手动管理这些库的麻烦。


自动化构建:Maven能够自动化地构建项目,包括编译、测试、打包、部署等步骤,这极大地提高了开发效率。


丰富的插件:Maven拥有丰富的插件,这些插件可以帮助开发者快速地完成各种任务,例如生成文档、运行测试等。


易于集成:Maven能够很容易地与其他工具集成,例如版本控制系统、持续集成工具等,这使得项目的开发和管理变得更加灵活。


社区支持:Maven有着庞大的的社区支持,这意味着当你遇到问题时,你可以从社区中获取帮助。


文档生成:Maven可以自动生成项目的文档,这使得开发者可以更加方便地了解项目的结构和各部分的细节。


项目管理:Maven可以帮助开发者进行项目的管理,例如追踪项目的依赖关系、管理项目的构建过程等。

maven 仓库

maven 仓库分为两大类:本地仓库和远程仓库,其中远程仓库⼜分为中央仓库,私服和其他公共库。

什么是maven中央仓库


Maven中央仓库是一个公共的、可访问的Maven仓库,它包含了大量的开源Java项目的构建文件和依赖库,Maven用户可以从中央仓库中下载所需的依赖库,以便在他们自己的项目中使用。中央仓库是由Maven团队自己维护的,里面存储了非常全的jar包,它包含了世界上大部分流行的开源项目构件。


https://repo.maven.apache.org/maven2/


上面是maven的中央仓库,我们可以根据目录找到需要的第三方依赖,当然还有一个也是中央仓库,不过这个中央仓库界面看着容易查找。

https://mvnrepository.com/


什么是maven本地仓库

Maven本地仓库是指用于存储项目依赖项的本地文件系统目录。当你构建一个Maven项目时,Maven会自动下载所需的依赖项,并将它们存储在本地仓库中。这样,当你再次构建项目时,Maven将会从本地仓库中获取依赖项,而不是再次下载它们,从而提高构建的效率。默认情况下,Maven本地仓库位于用户的主目录下的“.m2”目录中。在该目录下,有一个名为“repository”的子目录,用于存储所有的依赖项。每个依赖项都有一个特定的目录结构,其中包含了该依赖项的组织、名称、版本等信息。通过使用本地仓库,Maven可以更好地管理和控制项目的依赖项,使得构建过程更加可靠和可重复。


这是我的电脑的默认maven本地仓库。

idea如何创建出maven项目

因为maven项目管理的优势,所以idea自动继承了maven,我们只需要在创建项目的时候勾选maven就可以了。

创建完成项目之后 会自动生成下面的目录结构。


如何引入第三方库依赖


之前,在没有创建maven项目的时候,我们需要将第三方库的 jar 包给下载下来,然后给导入到 idea 中,这样会显得很麻烦,而我们创建了 maven 项目之后则只需要将某一个第三方库的坐标给导入到 maven 项目的 pom.xml 文件中即可。


这里我们以引入 MySQL 依赖为例。

在中央仓库搜索到我们需要的 MySQL 版本。

将第三方库的依赖导入到 maven 项目的 pom.xml 文件中。


当导入之后,我们还需要刷新 pom.xml 文件,使之下面我们刚刚导入的 MySQL 第三方库。


这里有人可能会出现下载不下来这个第三方库的情况,这是因为:当我们第一次导入第三方库的时候,需要去 maven 的中央仓库去下载这个第三方库,而 maven 的中央仓库在国外,所以我们访问 maven 中央仓库的时候速度可能会很慢。

配置国内源

这里就需要我们配置国内源,也就是 maven 中央仓库的克隆仓库,这个克隆仓库因为在国内,所以访问速度就会比国外的快。


这里我们选择的是阿里源。


首先我们需要打开下载的 maven 文件下的 settings.xml 文件,如果大家没下载 maven,可以去 maven 官网下载https://maven.apache.org/download.cgi?.



下载完成之后,找到刚刚下载的 maven 位置,并且找到 settings.xml 文件。

打开这个 settings.xml 文件。将下面的代码复制在 <mirrors> </mirrors> 标签内。

<mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>

然后将下面的代码复制到 <profiles> </profiles> 标签内,这个jdk版本根据自己的 jdk 版本修改。

<profile>
      <id>jdk-1.8</id>
      <activation>
      <activeByDefault>true</activeByDefault>
      <jdk>1.8</jdk>
      </activation>
      <properties>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
      <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
    </profile>

这个文件配置完成之后,我们还需要在idea中设置maven地址。

当配置好国内源之后,我们就点击刷新这个poem.xml文件,下载依赖。

注意:如果你连接的校园网或者其他企业WiFi的时候,你访问国外网站的时候是不被允许的,所以访问maven中央仓库的时候我们可以连接自己的手机热点。

当引入 MySQL 第三方库之后,我们就可以使用了。

下载 Maven Helper 插件查看各个项目之间的依赖关系

下载完成之后,我们就可以根据这个插件看到各个项目之间的依赖关系。


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
数据可视化 Java 项目管理
|
3月前
|
存储 前端开发 Java
Maven(一)
Maven(一)
69 0
Maven(一)
|
5月前
|
Java Maven 开发工具
Maven 特点
Maven是一个遵循统一规则、可扩展的Java项目管理工具,强调依赖管理和自动化更新。它拥有庞大的库资源,支持JAR、WAR等输出类型的构建,并能自动生成项目站点和报告。Maven无缝集成版本控制系统,实现发布管理和并行构建,提升构建速度。其错误报告详细,提供链接至解决方案。子项目可继承父项目依赖,无需重复指定版本号,保证向后兼容性。
|
Java 数据库连接 Maven
Maven介绍
Maven介绍
92 0
|
6月前
|
Java 测试技术 数据库连接
Maven
Maven
86 0
|
6月前
|
Java Maven
maven 使用小技巧
maven 使用小技巧
40 0
|
6月前
|
存储 XML Java
maven
maven
346 0
|
Java 测试技术 数据库连接
|
Java Maven
|
Java 程序员 数据库连接
Maven的使用
Maven的使用
86 0