Maven的介绍

Maven… 它是什么?
如何回答这个问题要看你怎么看这个问题。
绝大部分Maven用户都称Maven是一个"构建 工具":
一个用来把源代码构建成可发布的构件的工具。 构建工程师和项目经理会说
Maven是一个更复杂的东西:一个项目管理工具。那么区别是什么?
像Ant这样的构建工具仅仅是关注预处理,编译,打包,测试和分发。
像 Maven 这样的一个项目管理工具提供了构建工具所提供功能的超集。
除了提供构建的功能,Maven还可以生成报告,
生成Web站点,并且帮助推动工作团 队成员间的交流。
一个更正式的 Apache Maven1 的定义: Maven是一个项目管理工具,它包含了一个项
目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project
Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在
生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
别让Maven是一个"项目管理"工具的事实吓跑你。如果你只是在找一个构建工具,Maven
能做这个工作。 事实上,本书的一些章节将会涉及使用Maven来构建和分发你的项目。
1.2. 约定优于配置(Convention Over Configuration)
约定优于配置是一个简单的概念。
系统,类库,框架应该假定合理的默认值,而非要
求提供不必要的配置。
流行的框架如 Ruby on Rails2 和 EJB3 已经开始坚持这些原
则,以对像原始的 EJB 2.1 规范那样的框架的配置复杂度做出反应。
一个约定优于配置的例子就像 EJB3 持久化,将一个 特殊的Bean持久化,你所需要做的只是将这个类
标注为 @Entity 。
框架将会假定表名和列名是基于类名和属性名。
系统也提供了一些钩子,当有需要的时候你可以重写这些名字,但是,在大部分情况下,你会发现使用
框架提供的默认值会让你的项目运行的更快。
创建一个可分发的 JAR 文件。 虽然这看起来无关紧要,但是想想大部分基于 Ant 的构建
必须为每个子项目定义这些目录。
Maven 对约定优于配置的应用不仅仅是简单的目录
位置,Maven 的核心插件使用了一组通用的约定,以用来编译源代码,打包可分发的
构件,生成 web 站点,还有许多其他的过程。
Maven 的力量来自它的"武断",它有一个定义好的生命周期和一组知道如何构建和装配软件的通用插件。如果你遵循这些约定,Maven 只需要几乎为零的工作——仅仅是将你的源代码放到正确的目录,Maven 将会帮你处理剩下的事情。
使用“遵循约定优于配置”系统的一个副作用是用户可能会觉得他们被强迫使用一种特
殊的方法。
当然 Maven 有一些核心观点不应该被怀疑,但是其实很多默认行为还是可
配置的。
例如项目源码的资源文件的位置可以被自定义,JAR 文件的名字可以被自定
义,在开发自定义插件的时候,几乎任何行为可以被裁剪以满足你特定的环境需求。
如果你不想遵循约定,Maven 也会允许你自定义默认值来适应你的需求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值