maven基本知识

Apache Maven 是一个软件项目管理和理解工具。 基于项目对象模型 (POM) 的概念,Maven 可以从一条中央信息中管理项目的构建、报告和文档。

我们想要一种构建项目的标准方法、对项目组成的清晰定义、一种发布项目信息的简单方法以及一种在多个项目之间共享 JAR 的方法。

目标:

让开发人员短时间内了解开发工作的完整状态

1.简化构建过程
虽然使用 Maven 并不能消除了解底层机制的需要,但 Maven 确实为开发人员屏蔽了许多细节。

2.提供统一的构建系统
Maven 使用其项目对象模型 (POM) 和一组插件构建项目。一旦您熟悉了一个 Maven 项目,您就会知道所有 Maven 项目是如何构建的。这可以节省导航许多项目的时间。

3.提供优质项目信息
Maven 提供了有用的项目信息,这些信息部分来自您的 POM,部分来自您的项目源。例如,Maven 可以提供:

直接从源代码管理创建的更改日志
交叉引用来源
项目管理的邮件列表
项目使用的依赖
单元测试报告,包括覆盖率
第三方代码分析产品还提供了 Maven 插件,将他们的报告添加到 Maven 给出的标准信息中。

4.提供最佳实践开发指南
Maven 旨在收集最佳实践开发的当前原则,并使项目朝着该方向发展变得容易。

例如,单元测试的规范、执行和报告是使用 Maven 的正常构建周期的一部分。当前的单元测试最佳实践被用作指导方针:

将测试源代码保存在单独但并行的源代码树中
使用测试用例命名约定来定位和执行测试
让测试用例设置他们的环境,而不是为测试准备定制构建
Maven 还协助项目工作流,例如发布和问题管理。

Maven 还建议了一些关于如何布局项目目录结构的指南。了解布局后,您可以轻松导航其他使用 Maven 的项目。

虽然对项目布局采取固执己见的方法,但由于历史原因,某些项目可能不适合这种结构。虽然 Maven 旨在灵活满足不同项目的需求,但它无法在不影响其目标的情况下满足所有情况。

如果您的项目具有无法重组的异常构建结构,您可能不得不放弃某些功能或完全放弃使用 Maven。

Maven not?
您可能听说过以下有关 Maven 的一些事情:

Maven 是一个站点和文档工具
Maven 扩展 Ant 以让您下载依赖项
Maven 是一组可重用的 Ant 脚本
虽然 Maven 会做这些事情,但您可以在上面的“什么是 Maven?”中读到。 部分,这些并不是 Maven 的唯一特性,它的目标也大不相同。

Feature Summary
以下是 Maven 的主要特性:

遵循最佳实践的简单项目设置 - 在几秒钟内启动一个新项目或模块
在所有项目中一致使用 - 意味着新开发人员进入项目没有时间
高级依赖管理,包括自动更新、依赖闭包(也称为传递依赖)
能够轻松地同时处理多个项目
一个庞大且不断增长的库和元数据存储库,开箱即用,并与最大的开源项目进行了安排,以实时提供其最新版本
可扩展,能够轻松地用 Java 或脚本语言编写插件
只需很少或无需额外配置即可即时访问新功能
在 Maven 之外进行依赖管理和部署的 Ant 任务
基于模型的构建:Maven 能够根据项目的元数据将任意数量的项目构建为预定义的输出类型,例如 JAR、WAR 或分发,在大多数情况下无需编写任何脚本。
项目信息的连贯站点:使用与构建过程相同的元数据,Maven 能够生成网站或 PDF,包括您需要添加的任何文档,并添加到有关项目开发状态的标准报告中。这些信息的示例可以在本网站左侧导航底部的“项目信息”和“项目报告”子菜单下看到。
发布管理和分发发布:无需太多额外配置,Maven 将与您的源代码控制系统(例如 Subversion 或 Git)集成,并根据某个标签管理项目的发布。它还可以将其发布到分发位置以供其他项目使用。 Maven 能够发布单独的输出,例如 JAR、包含其他依赖项和文档的存档,或作为源分发。
依赖管理:Maven 鼓励使用 JAR 和其他依赖的中央存储库。 Maven 带有一种机制,您的项目的客户端可以使用该机制从中央 JAR 存储库下载构建项目所需的任何 JAR,就像 Perl 的 CPAN。这允许 Maven 用户跨项目重用 JAR,并鼓励项目之间的通信以确保处理向后兼容性问题。

https://sourcecode01.de.bosch.com/projects/ADDAREPLAYTOOLCHAIN/repos/daas/browse?at=refs%2Fheads%2Fmaster

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值