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

news2024/11/10 19:57:21

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

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

💎擅长领域:前端

是的,我需要您的:

🧡点赞❤️关注💙收藏💛

是我持续下去的动力!

 


目录

一. 什么是maven

1.1 个人了解

1.2 官方理解

二 . maven的作用

2.1 maven的作用示意图

2.2 maven的具体作用

三 .导入maven项目

3.1 操作步骤

 四.依赖管理

4.1 pos.xml中依赖的配置

4.2 代码

4.3 依赖总结

五. 依赖传递 

5.1 依赖传递基本概念

5.2 排除依赖

六 .依赖范围

6.1依赖范围的基本概念

七. 依赖的生命周期

 7.1 依赖生命周期基本介绍

7.2 重要的几个生命周期

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 开发中不可或缺的工具之一,它不仅提高了开发效率,还确保了项目的可维护性和可扩展性。


 

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

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

💎擅长领域:前端

是的,我需要您的:

🧡点赞❤️关注💙收藏💛

是我持续下去的动力!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2094920.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙UIAbility组件进阶

鸿蒙UIAbility组件进阶 AbilityStage基本概念生命周期使用方式 UIAbility组件间交互启动应用内的UIAbility启动应用内的UIAbility并获取返回结果启动UIAbility的指定页面调用方目标UIAbility冷启动目标UIAbility热启动 AbilityStage 基本概念 在了解AbilityStage之前&#xf…

Promise 工具箱:手写实现静态方法的完全指南

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热爱技术和分享&#xff0c;欢迎大家交流&#xff0c;一起学习进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 Promise有很多静态方法&#xff0c;本文就来分享下如何实现这些静态方法。 目录 …

Markdown语法与Latex公式汇总

1 基本语法 1.1 标题 语法如下&#xff1a; 效果如下&#xff1a; 1.2 字体样式 语法效果普通正文字体普通正文字体*倾斜字体*倾斜字体**加粗字体**加粗字体***倾斜加粗字体***倾斜字体~~划线字体~~倾斜字体 1.3 分割线 语法如下&#xff1a; 效果如下&#xff1a; …

【C++11及其特性】C++类型转换

C类型转换目录 一.C语言的强制类型转换二.static_cast1.父类子类之间指针或引用的转换2.基本数据类型的转换3.空指针转换其他类型指针4.其他类型指针转换为空指针5.static_cast特点6.完整代码 三.reinterpret_cast1.数值与指针之间的转换2.不同类型指针和引用之间的转换3.reint…

【网络安全】重置邮件逻辑漏洞导致账户接管

未经许可&#xff0c;不得转载。 文章目录 正文 正文 目标&#xff1a;xxx.com 点击重置密码&#xff0c;系统会发送一封链接至邮箱。响应如下&#xff1a; 从上图中可以看到&#xff0c;validationSession对象中有一个sessionID 而收到的链接中的token和sessionID的值是一样…

总结之Coze 是一站式 AI Bot 开发平台——使用coze(一)

Coze 是什么&#xff1f; Coze 是新一代一站式 AI Bot 开发平台。无论你是否有编程基础&#xff0c;都可以在 Coze 平台上快速搭建基于 AI 模型的各类问答 Bot&#xff0c;从解决简单的问答到处理复杂逻辑的对话。并且&#xff0c;你可以将搭建的 Bot 发布到各类社交平台和通讯…

[Leetcode 51][Hard]-n皇后问题-回溯

目录 一、题目描述 二、整体思路 三、代码 一、题目描述 原题地址 二、整体思路 这种可以算是组合问题的变种&#xff0c;在回溯函数中我们要保存当前已放置皇后的所有位置&#xff0c;同时递归调用时要进行寻找下一个皇后的放置位置。那么我们可以逐行遍历棋盘并作为递归调…

STM32学习记录-10-2-SPI通信(硬件)

1 SPI外设简介 STM32内部集成了硬件SPI收发电路,可以由硬件自动执行时钟生成、数据收发等功能,减轻CPU的负担 可配置8位/16位数据帧、高位先行/低位先行 时钟频率: fPCLK / (2, 4, 8, 16, 32, 64, 128, 256) 支持多主机模型、主或从操作 可精简为半双工/单工通信 支持…

python源码 PBOCMaster MAC的计算函数及计算过程 2des

注意最后一步要用整个key加密 计算过程&#xff1a; MAC&#xff1a; PBOC-MAC DES算法 密钥 长度16(0x10)字节 57 75 20 4D 69 61 6F 6A 75 6E 40 47 26 44 43 11 初始向量 长度8(0x08)字节 00 00 00 00 00 00 00 00 数据 长度74(0x4A)字节 43 48 45 4E 48 41 4F 2D 50 43 7…

如何成为一个飞控算法工程师?

兄弟&#xff0c;这个问题问得好&#xff0c;但也别想着靠看几本书就能一步登天。飞控算法这玩意儿&#xff0c;真要干好了&#xff0c;不是简简单单几个公式几个库就能搞定的。你本科电子专业有点基础&#xff0c;玩过四轴飞行器也算是入门了&#xff0c;但要搞真算法&#xf…

做克隆虚拟机的basic

新建一台虚拟机&#xff08;之前写的有这一步&#xff09; 虚拟机里操作 vi /etc/hostname 改称basic (可改可不改) vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic DEFROUTEyes IPV4_FAILURE_FATALno IP…

★ 算法OJ题 ★ 力扣 LCR179 - 和为 s 的两个数字

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;小诗歌剧将和大家一起做一道双指针算法题--和为 s 的两个数字~ 目录 一 题目 二 算法解析 三 编写算法 一 题目 LCR 179. 查找总价格为目标值的两个商品 - 力扣&#xff08;LeetCode&#xff09; 二 算法解析 …

静态工厂模式(简单工厂模式)与动态工厂模式(工厂方法模式)

1. 简单工厂模式 核心是定义一个创建对象的接口&#xff0c;将对象的创建和本身的业务逻辑分离&#xff0c;降低系统的耦合度&#xff0c;使得两个修改起来相对容易些&#xff0c;当以后实现改变时&#xff0c;只需要修改工厂类即可。该模式对对象创建管理方式最为简单&#x…

list的使用与迭代器的模拟实现

前面学习了string&#xff0c;vector类的使用及模拟&#xff0c;但是它们有一个统一的特点就是底层的内存是连续的&#xff0c;因此迭代器的实现也很简单。现在我们开始学习list类的使用&#xff0c;模拟实现&#xff0c;来看看这个底层内存不是连续的有什么特别之处&#xff0…

2024 SEKAI-CTF(nolibc speedpwn life_simulator_2)

文章目录 nolibcexp speedpwnexp life_simulator_2委托构造函数委托构造函数的语法解释 std:remove和std:erase代码解释原理内存管理注意事项 思路1. 背景2. 示例代码3. 解释 vector插入逻辑1. 函数参数2. 本地变量3. 逻辑分析4. 扩容逻辑5. 直接插入逻辑6. 返回结果 exp nolib…

集成电路学习:什么是FPGA现场可编程门阵列

一、FPGA&#xff1a;现场可编程门阵列 FPGA&#xff0c;全称Field Programmable Gate Array&#xff0c;即现场可编程门阵列&#xff0c;是一种超大规模可编程逻辑器件。它由可编程逻辑资源、可编程互连资源和可编程输入输出资源组成&#xff0c;主要用于实现以状态机为主要特…

【计算机组成原理】七、输入/输出系统:2.I/O接口、I/O控制方式

I/O接口、I/O控制方式 2. I/O接口 文章目录 I/O接口、I/O控制方式2. I/O接口2.1 I/O接口的作用2.2 结构2.3 工作原理2.4 I/O端口2.5 分类 3. I/O控制方式3.1程序查询方式3.2程序中断方式3.2.1中断系统3.2.2工作流程3.2.3多重中断与中断屏蔽技术3.2.4程序中断方式 3.3DMA控制方…

Excel技巧(二)

函数 SUMIFS函数 用于计算其满足多个条件的全部参数的总量 语法&#xff1a;SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) COUNTIFS函数 计算多个区域中满足给定条件的单元格的个数 语法&#xff1a;countifs(criteria_range1,crit…

【Python报错已解决】`ModuleNotFoundError: No module named ‘graphviz‘`

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言&#xff1a; 在开发过程中&#xff0c;你是否遇到过尝试导入graphviz模块时遇到了ModuleNotFoundError: No module named …

突发:Runway删库跑路,备受瞩目的Stable Diffusion v1.5不见了!

Runway AI, Inc.创立于2018年&#xff0c;总部位于美国纽约州New York&#xff0c;Runway 是一家应用人工智能研究公司。Runway在谷歌领投的D轮融资中募集到约一亿美元。Runway不仅是投资界的新星&#xff0c;其产品Runway ML参与制作的《瞬息全宇宙》更是斩获了奥斯卡最佳女主…