Maven 介绍

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 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 插件查看各个项目之间的依赖关系

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


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
Java Apache Scala
【阿里云镜像】配置阿里云Maven 镜像
【阿里云镜像】配置阿里云Maven 镜像
25590 1
【阿里云镜像】配置阿里云Maven 镜像
|
Java 应用服务中间件 项目管理
Maven详解
Apache Maven是一个强大的Java项目管理和构建工具,它简化了项目结构、依赖管理、构建过程。Maven遵循约定优于配置原则,提供标准项目模板,自动处理依赖下载和版本控制。通过POM(Project Object Model)文件,开发人员声明项目属性、依赖、构建配置等。Maven支持多模块管理、文档生成、版本管理和构建报告。使用Maven,可以更高效地管理复杂项目,避免手动管理依赖带来的问题。此外,Maven的配置文件(settings.xml)允许设置本地仓库、中央仓库镜像和JDK版本等。
809 1
Maven详解
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错之如何解决报错:Could not acquire the minimum required resources.
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
缓存 网络协议 安全
常见的DNS记录类型总结
【6月更文挑战第17天】DNS记录类型:A(IPv4)、AAAA(IPv6)、CNAME(别名)、MX(邮件路由)、TXT(文本信息)和NS(DNS服务器指定)。常见DNS攻击有DDoS、DNS缓存中毒、域名劫持和查询嗅探。防护措施包括使用防火墙、安全软件,选择安全DNS服务,定期检查更新服务器,避免旧版软件,及时响应异常。
1076 1
|
Java Maven
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
5624 0
|
SQL Java 数据库连接
成功解决:was not registered for synchronization because synchronization is not active
这篇文章是关于解决Mybatis在同步过程中出现"was not registered for synchronization because synchronization is not active"错误的技术博客。
成功解决:was not registered for synchronization because synchronization is not active
|
存储 Java Linux
Maven 仓库
Maven仓库是管理项目依赖的存储位置,分为本地、中央和远程三种类型。本地仓库在首次执行Maven命令时创建,默认位于用户目录下的`.m2/repository/`。如果本地缺少依赖,Maven会从远程仓库下载至本地。中央仓库由Maven社区维护,包含大量开源Java构件,是默认的网络资源,可通过http://search.maven.org/#browse进行浏览搜索。远程仓库则用于存放非标准或特定组织的构件。可以通过settings.xml配置本地仓库路径。
|
缓存 Linux
CentOS7添加阿里云yum源
CentOS7添加阿里云yum源
10901 1
|
Java Maven
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
12389 1
|
Linux
CentOS 7 配置yum阿里源 (三步即可)
CentOS 7 配置yum阿里源 (三步即可)
30485 1