java构建工具-maven的复习笔记【适用于复习或者初步了解】

🤹‍♀️潜意识起点:个人主页

🎙座右铭:得之坦然,失之淡然。

💎擅长领域:前端

是的,我需要您的:

🧡点赞❤️关注💙收藏💛

是我持续下去的动力!


目录

[一. 什么是maven](#一. 什么是maven)

[1.1 个人了解](#1.1 个人了解)

[1.2 官方理解](#1.2 官方理解)

[二 . maven的作用](#二 . maven的作用)

[2.1 maven的作用示意图](#2.1 maven的作用示意图)

[2.2 maven的具体作用](#2.2 maven的具体作用)

[三 .导入maven项目](#三 .导入maven项目)

[3.1 操作步骤](#3.1 操作步骤)

四.依赖管理

[4.1 pos.xml中依赖的配置](#4.1 pos.xml中依赖的配置)

[4.2 代码](#4.2 代码)

[4.3 依赖总结](#4.3 依赖总结)

[五. 依赖传递](#五. 依赖传递)

[5.1 依赖传递基本概念](#5.1 依赖传递基本概念)

[5.2 排除依赖](#5.2 排除依赖)

[六 .依赖范围](#六 .依赖范围)

6.1依赖范围的基本概念

[七. 依赖的生命周期](#七. 依赖的生命周期)

[7.1 依赖生命周期基本介绍](#7.1 依赖生命周期基本介绍)

[7.2 重要的几个生命周期](#7.2 重要的几个生命周期)

[7.3 依赖生命周期在idea中的位置](#7.3 依赖生命周期在idea中的位置)

[八 .总结](#八 .总结)

一. 什么是maven

1.1 个人了解

像vue的框架一样,html该放什么地方,vue组件该放什么地方,什么地方配置,什么地方去连接。

1.2 官方理解

Maven是一个项目管理和理解工具,它基于项目对象模型(POM)的概念,可以管理项目的构建、报告和文档。Maven通过提供一个清晰的路径来使用最佳实践,从而提高理解力和生产力。Maven的核心特性包括构建、依赖管理、文档创建、站点发布和分发发布等。


Maven的官方网站提供了丰富的文档和指南,包括快速入门指南、生命周期介绍、POM(项目对象模型)的详细介绍、配置文件说明、插件开发和使用、以及如何为项目创建站点等。这些资源可以帮助用户更好地理解和使用Maven。


Maven的安装和配置相对简单,用户可以从官方网站下载最新版本的Maven,并按照提供的指南进行安装和配置。Maven的默认配置通常足够使用,但用户也可以根据自己的需要进行自定义配置。


Maven的依赖管理功能非常强大,它允许用户通过POM文件声明项目依赖,Maven会自动处理依赖的下载和版本管理。Maven的依赖范围和传递性是其核心特性之一,用户可以通过配置文件来管理依赖的范围和传递性,确保项目构建的正确性和一致性。


Maven的插件系统为用户提供了极大的灵活性,用户可以利用现有的插件来扩展Maven的功能,或者开发自定义插件来满足特定的需求。Maven的插件可以用于编译项目、运行测试、打包、部署等各个阶段。


Maven的生命周期是其构建过程中的核心概念,包括默认生命周期、清理生命周期和站点生命周期。用户可以通过生命周期来控制项目的构建过程,Maven提供了丰富的生命周期阶段,每个阶段都可以执行特定的任务。


Maven的多模块管理功能允许用户将大型项目分解为多个子模块,每个模块都有自己的POM文件,这样可以提高项目的组织性和可维护性。


Maven的仓库管理功能包括本地仓库和远程仓库的管理。用户可以通过配置文件来管理仓库的设置,包括仓库的地址、代理设置、镜像和快照版本等。


Maven的社区非常活跃,用户可以通过社区获得支持和帮助,也可以参与到Maven的开发和贡献中。

二 . maven的作用

2.1 maven的作用示意图

2.2 maven的具体作用

三 .导入maven项目

3.1 操作步骤

如图所示简单明了。只要导入pom.xml就可以导入整个项目了。

四.依赖管理

4.1 pos.xml中依赖的配置

4.2 代码

注意要放在dependencies的标签中,具体的依赖去依赖库中找市面上有很多依赖库。

 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

4.3 依赖总结

五. 依赖传递

5.1 依赖传递基本概念

依赖是有传递性的

5.2 排除依赖

有传递性的,坐标中的依赖可以传递

六 .依赖范围

6.1依赖范围的基本概念

七. 依赖的生命周期

7.1 依赖生命周期基本介绍

7.2 重要的几个生命周期

7.3 依赖生命周期在idea中的位置

八 .总结

Apache Maven 是一个广泛使用的项目管理和理解工具,它主要用于 Java 项目的构建、依赖管理和文档生成。以下是对 Maven 的一些关键点总结:


  1. 项目对象模型(POM): Maven 使用一个名为 POM(Project Object Model)的 XML 文件来描述项目的构建过程、依赖、插件和其他配置信息。

  2. 依赖管理: Maven 提供了强大的依赖管理功能,能够自动处理项目依赖的解析和下载,确保项目的构建环境一致性。

  3. 构建生命周期: Maven 定义了一系列的构建生命周期阶段,如编译、测试、打包、部署等,每个阶段都可以执行特定的任务。

  4. 插件和目标: Maven 插件可以扩展 Maven 的功能,每个插件可以定义多个目标(goal),这些目标可以在构建生命周期中执行。

  5. 继承和聚合: Maven 支持项目继承和多模块项目聚合,允许在父 POM 中定义公共配置,子模块可以继承这些配置。

  6. 跨平台: Maven 可以在多种操作系统上运行,包括 Windows、Linux 和 macOS。

  7. 标准目录结构 : Maven 推荐使用标准的目录结构,如 src/main/java 用于源代码,src/test/java 用于测试代码。

  8. 可移植性: Maven 项目是高度可移植的,可以在不同的开发环境中轻松迁移。

  9. 社区支持: Maven 有一个活跃的社区,提供了大量的插件、工具和文档资源。

  10. 中央仓库: Maven 中央仓库包含了大量的开源项目和库,方便开发者使用。

  11. 版本控制: Maven 支持 SNAPSHOT 和 RELEASE 版本,方便进行版本管理。

  12. 发布和部署: 使用 Maven 可以方便地将项目发布到远程仓库或部署到服务器。

  13. IDE 集成: Maven 与大多数流行的 Java IDE(如 IntelliJ IDEA、Eclipse)集成,提高了开发效率。

  14. 命令行工具: Maven 提供了一个命令行工具,可以通过命令行执行构建和依赖管理任务。

  15. 最佳实践: Maven 鼓励使用最佳实践,如使用标准生命周期、目录结构和命名约定。

Maven 的这些特性使其成为 Java 开发中不可或缺的工具之一,它不仅提高了开发效率,还确保了项目的可维护性和可扩展性。


🤹‍♀️潜意识起点:个人主页

🎙座右铭:得之坦然,失之淡然。

💎擅长领域:前端

是的,我需要您的:

🧡点赞❤️关注💙收藏💛

是我持续下去的动力!

相关推荐
异构算力老群群24 分钟前
CCF推荐C类会议和期刊总结:(计算机体系结构/并行与分布计算/存储系统领域)
大数据·c语言·开发语言·体系结构
Geho28 分钟前
定时任务调用OpenFegin无token认证异常
java·spring boot·rpc·openfegin
开心工作室_kaic1 小时前
基于Vue的兴趣活动推荐APP的设计与实现_kaic
java·c语言·开发语言·数据库·python·sqlite·php
学计算机的小花神1 小时前
设计模式篇--抽象工厂模式
java·设计模式·抽象工厂模式
完球了1 小时前
【Day14-单例设计模式&动态代理】
java·开发语言·笔记·学习·设计模式·学习经验
.昭阳.1 小时前
小程序——生命周期
java·开发语言·前端·小程序
coffee_baby1 小时前
外观模式详解:如何为复杂系统构建简洁的接口
java·spring boot·spring cloud·java-ee·maven·mybatis·外观模式
飞翔的佩奇2 小时前
Java项目: 基于SpringBoot+mybatis+maven服装生产管理系统(含源码+数据库+任务书+开题报告+毕业论文)
java·spring boot·mysql·毕业设计·maven·mybatis·服装管理
Flying_Fish_roe2 小时前
Kubernetes 持续集成与交付(CI/CD)
java·容器·kubernetes
老王笔记2 小时前
MAVEN创建WEB项目
java·数据库·maven