说来也尴尬,之前学习java都是去b大学找一个视频看着练习,对于任何技术都是感觉会用就行,结果上周我们老师问我Maven是什么,我想了想,平常看视频也就是对着视频练,就我个人用到Maven的地方也就是拿配置,打包jar包,此外好像也没有什么其他用途了,但是被这么一问,我也就是去Maven官网去看了看,才知道Maven原来真的是做项目管理的,Maven,意第绪单词,意思是知识的积累者,最初是试图 简化雅加达涡轮机项目的构建过程。
Maven是一个工具,现在可用于构建和管理任何 基于 Java 的项目。我们希望我们已经创造了一些东西,它将 使 Java 开发人员的日常工作更轻松,并且通常有帮助 理解任何基于 Java 的项目。
关于Maven的功能,简而言之,以下是Maven的主要功能:
- 遵循最佳实践的简单项目设置 - 在几秒钟内启动一个新项目或模块
- 在所有项目中保持一致的使用 - 意味着新开发人员没有进入项目的启动时间
- 卓越的依赖关系管理,包括自动更新、依赖关系闭包(也称为传递依赖关系)
- 能够同时轻松处理多个项目
- 一个庞大且不断增长的库和元数据存储库,开箱即用,并与最大的开源项目达成安排,以实时提供其最新版本
- 可扩展,能够轻松地用Java或脚本语言编写插件
- 即时访问新功能,只需很少或无需额外配置
- 用于在 Maven 外部进行依赖管理和部署的 Ant 任务
- 基于模型的构建:Maven能够将任意数量的项目构建为预定义的输出类型,例如JAR,WAR或基于项目元数据的分发,在大多数情况下无需执行任何脚本。
- 项目信息的连贯站点:使用与构建过程相同的元数据,Maven能够生成一个网站或PDF,包括您想要添加的任何文档,并将有关项目开发状态的标准报告添加到该标准报告中。此信息的示例可以在本网站左侧导航底部的“项目信息”和“项目报告”子菜单下看到。
- 发布管理和分发发布:无需太多额外的配置,Maven 将与您的源代码管理系统(例如 Subversion 或 Git)集成,并根据某个标签管理项目的发布。它还可以将其发布到分发位置以供其他项目使用。Maven 能够发布单个输出,例如 JAR、包含其他依赖项和文档的存档,或作为源代码分发。
- 依赖关系管理:Maven鼓励使用JAR和其他依赖关系的中央存储库。Maven 带有一种机制,项目的客户端可以使用该机制从中央 JAR 存储库下载构建项目所需的任何 JAR,就像 Perl 的 CPAN 一样。这允许Maven的用户跨项目重用JAR,并鼓励项目之间的通信,以确保处理向后兼容性问题。
虽然Maven我现在只会使用那一点皮毛,甚至皮毛都不是,但是我现在觉得任何教学都没有直接去官网看官方解说来得细,毕竟这个是他们做的,所以我个人推荐学习一个知识首先去官网看文档,其次再去看一些视频教学,但是一定要理解我们学的是什么,理解概念,为什么要开发这个东西,为什么我们要学习这个,学了这个能干什么(也就是这个有什么用)。