Maven -01- 简介+视频+教程+学习路线

版权声明:本文为博主原创文章,欢迎转载,转载请注明出处 https://blog.csdn.net/qq_40147863/article/details/85644705

Maven -01- 简介+视频+教程+学习路线

Maven 简介:

  • Maven 是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven 利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

  • Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

  • Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

  • Maven

如果你喜欢看视频教程

在这里插入图片描述

如果你喜欢文档类教程:

是否有必要使用 Maven:

本段参考:原文链接

(1)假设我们有十个项目,都需要引入 spring core 模块,那么需要十份重复的 Spring core.jar 和 commons-logging.jar

Maven 使用本地仓库存储 jar,所有项目都会共用仓库中的同一份 jar

(2)Spring core.jar 必须同时引入版本兼容的commons-logging.jar,否则会报错。

Maven 不需要关心这些问题,会自动引入 Spring core.jar 所需的兼容版本 jar

(3)如果一个项目里面有100个 jar,你不知道哪些 jar 是彼此关联的,哪些是互相排斥的,当需要升级版本,增加或删除一些jar,很容易出各种问题

Maven 升级 jar,只需要把版本号3.x改成4.x,它会自动解决那些问题

管理 jar 只是 maven 的一个基本功能,它还有许多各种各样的功能便于管理项目,比如 管理多模块协同开发,内置 web server 快速开发测试,连接控制远程服务器,自动上传部署项目,一键切换服务器环境等等

可以不使用 Maven 的场景:

如果你不愿意花时间学习 Maven,而且只想停留在初中级 java 水平,平时只用一些 spring 之类的大众技术,那么 maven 所有的功能都不是必需的,只要你不怕麻烦,你都可以用别的方法替代。

必须使用 Maven 的场景:

如果你是一个技术上有更高目标的人,那么就必须要会 Maven。因为当你达到一定水平,面对一些技术难度较高的需求 而无所适从时,你会发现在 github 上有大量的成熟解决方案专门针对你所遇到的各种疑难杂症,而且这些技术有不少都是在淘宝,京东等大型网站线上广泛使用的,这些网站的工程师同时也会到 github 上发布他们的开源技术。而 github 上的这些项目通常有一个共同的特点,都是 maven 项目,如果你不会 maven,即使你下了这些技术,你也不知道怎么用

依赖管理:

在这里插入图片描述

Maven 特点:

拷贝自:菜鸟教程 - Maven

  • 项目设置遵循统一的规则。

  • 任意工程中共享。

  • 依赖管理包括自动更新。

  • 一个庞大且不断增长的库。

  • 可扩展,能够轻松编写 Java 或脚本语言的插件。

  • 只需很少或不需要额外配置即可即时访问新功能。

  • 基于模型的构建 − Maven 能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。

  • 项目信息的一致性站点 − 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。

  • 发布管理和发布单独的输出 − Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。

  • 向后兼容性 − 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。

  • 子项目使用父项目依赖时,正常情况子项目应该继承父项目依赖,无需使用版本号,

  • 并行构建 − 编译的速度能普遍提高20 - 50 %。

  • 更好的错误报告 − Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。


博主也会不断更新学习笔记

更多文章链接

猜你喜欢

转载自blog.csdn.net/qq_40147863/article/details/85644705