资讯专栏INFORMATION COLUMN

Maven_00

booster / 1442人阅读

摘要:例如,可以提供更改日志用源码管理工具生成交叉引用邮件列表依赖清单单元测试报告含覆盖率提供开发过程的最佳实践指南通过收集现行的开发最佳实践,来指导用构建的项目。

本文大约1026个字,阅读时间4分钟。 主要介绍了Maven名字的由来、Maven产生的背景和Maven的主要功能。

问题:Maven是啥?

大多数人都用Maven来管理Java项目的依赖,这个应该是Maven的主要功能没跑了,不过我们还是带着这个问题自己去探索吧!

名字由来:

根据Maven官网的解释,Maven这个单词来自意第绪语,意为知识的积累者(accumulator of knowledge),Wikipedia上的解释是:在特定领域极具权威并且乐于将知识分享、传承给他人的专家。咳咳……老外给项目起名字就是有(ai)意(zhuang)思(bi)。

背景介绍:

Maven当初是为了简化Jakarta和Turbine两个项目的构建过程而诞生的。这些项目当初有各自的Ant构建文件并且还有共同使用的JAR文件被重复的提交到CVS上。因此Maven试图将所有Java项目的构建过程标准化;确保一个项目的组成部分有清晰明确的定义;可以方便的发布项目;可以共享多个项目用到的JAR文件。

它的目标:

让开发人员可以在较短的时间内快速厘清项目结构,更快理解整个项目。为了达到这个目的,Maven从以下几个方面入手:

简化项目构建过程

提供统一的构建系统

提供有效/高质量的项目信息

提供开发过程的最佳实践指南

透明迁移到新功能

目标说明:

简化项目构建过程

虽然使用Maven进行项目构建时,你还是需要对底层机制有所了解,但是Maven还是做了不少工作来对你隐藏这些繁琐的细节。

提供统一的构建系统

Maven是通过POM(Project Object Model)文件和一系列插件(Plugin)来构建项目的。当你熟悉了某一个用Maven构建的项目,那么对于其他用Maven构建的项目你也可以快速熟悉。

提供有效/高质量的项目信息

Maven可以通过POM文件以及项目的源代码来生成项目信息。例如,Maven可以提供:

更改日志(用源码管理工具生成)

交叉引用

邮件列表

依赖清单

单元测试报告(含覆盖率)

提供开发过程的最佳实践指南

Maven通过收集现行的开发最佳实践,来指导用Maven构建的项目。例如:单元测试是Maven构建中的一个部分,Maven对单元测试应用如下的最佳实践:

把单元测试代码和项目代码分开,但是在平级的源码树中

使用测试用例命名约定来定位和执行测试

让测试用例来初始化测试环境而不是为测试构建特定的版本

Maven还可以为项目的目录结构、发布管理、缺陷追踪提供指导和帮助。

透明迁移到新功能

当Maven/Maven插件更新时,无须做改动/较少改动,即可享受新功能

它不是……

建站工具或文档管理工具

可以下载依赖的Ant扩展

一组可重用的Ant脚本

结语

本文是百科百面系列的第一篇文章,也是Maven专题的第一篇文章,对于文章的形式、内容或者技术专题有想法的朋友,欢迎留言~

下一篇文章将会带大家一起安装和体验Maven,下次见!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70197.html

相关文章

  • 使用docker Maven插件本地构建docker镜像并发布到远程服务器

    摘要:登录网站,生成一个基本的应用。将应用导入并创建类。连接,执行命令,查看可用的镜像执行命令,使用镜像启动容器。至此,使用插件构建镜像并运行容器完成,访问路径,获得结果 1.登录网站https://start.spring.io/,生成一个基本的SpringBoot应用。 2.将应用导入Eclipse IDE并创建Application类。目录结构如下: showImg(https://s...

    Thanatos 评论0 收藏0
  • 使用docker Maven插件本地构建docker镜像并发布到远程服务器

    摘要:登录网站,生成一个基本的应用。将应用导入并创建类。连接,执行命令,查看可用的镜像执行命令,使用镜像启动容器。至此,使用插件构建镜像并运行容器完成,访问路径,获得结果 1.登录网站https://start.spring.io/,生成一个基本的SpringBoot应用。 2.将应用导入Eclipse IDE并创建Application类。目录结构如下: showImg(https://s...

    jcc 评论0 收藏0
  • Java敏捷数据库迁移框架——Flyway

    摘要:看看自己的项目的那些文件或者干脆连个建表语句都没有的同学是否会有想法把他们管理起来呢向大家推荐一款非常轻量级的敏捷数据库迁移框架。 showImg(http://segmentfault.com/img/bVbV7p); 看看自己的项目的那些SQL文件或者干脆连个建表语句都没有的同学是否会有想法把他们管理起来呢?向大家推荐一款非常轻量级的敏捷数据库迁移框架——Flyway。想知道她有什...

    iflove 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<