当前位置: 首页 > news >正文

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

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

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

💎擅长领域:前端

是的,我需要您的:

🧡点赞❤️关注💙收藏💛

是我持续下去的动力!

 


目录

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


 

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

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

💎擅长领域:前端

是的,我需要您的:

🧡点赞❤️关注💙收藏💛

是我持续下去的动力!

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • WebView快速打开
  • 公司招聘中,多个面试官对候选人评价不一致怎么办?
  • class 3: vue.js 3 计算属性
  • Java中的注解(Annotation)
  • MySQL入门学习-MySQL的连接查询
  • switch语句和while循环
  • 算法练习题07:无重复字符的最长子串
  • 临时性解决斐讯K3 路由器端口转发限制
  • GO Date数据处理
  • CSS-定位【看这一篇就够了】
  • 食堂线上预约点餐系统小程序的设计
  • 使用 FormCreate 渲染 Element Plus 表单
  • k8s1.23 部署Prometheus-Operator集群监控
  • 贪心算法---用最少数量的箭引爆气球
  • 【计算机网络】应用层HTTP协议
  • 自己简单写的 事件订阅机制
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • C语言笔记(第一章:C语言编程)
  • Just for fun——迅速写完快速排序
  • markdown编辑器简评
  • Nodejs和JavaWeb协助开发
  • PaddlePaddle-GitHub的正确打开姿势
  • XML已死 ?
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 基于游标的分页接口实现
  • 人脸识别最新开发经验demo
  • 实现菜单下拉伸展折叠效果demo
  • 通过npm或yarn自动生成vue组件
  • 学习笔记TF060:图像语音结合,看图说话
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (二十六)Java 数据结构
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (回溯) LeetCode 131. 分割回文串
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (全注解开发)学习Spring-MVC的第三天
  • (一)VirtualBox安装增强功能
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .NET 漏洞分析 | 某ERP系统存在SQL注入
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • @Bean注解详解
  • @NotNull、@NotEmpty 和 @NotBlank 区别
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [000-01-022].第06节:RabbitMQ中的交换机介绍
  • [AHK V2]鼠标悬停展开窗口,鼠标离开折叠窗口
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [C#] 我的log4net使用手册
  • [C++] 深入理解面向对象编程特性 : 继承
  • [C++进阶]map和set的相关题目
  • [ccc3.0][数字钥匙] UWB配置和使用(二)
  • [ChromeApp]指南!让你的谷歌浏览器好用十倍!
  • [Cloud Networking] Layer Protocol (continue)