zoukankan      html  css  js  c++  java
  • Maven简单介绍(Maven是什么)

    简单介绍

    Maven,在意第绪语中意为对知识的积累。Maven最初用来在Jakarta Turbine项目中简化该项目的构建过程。

    Jakarta Trubine项目有多个project。每一个project都有自己的多个Ant构建文件。

    每一个project的这些构建文件都仅仅有一小部分不同。而且全部的Jar文件被使用CVS纳入了版本号管理。我们想要实现一种标准方式去构建这些project、明白定义这些project的组成部分、简单的公布project信息以及多个project间共享Jar包。
    就这样,一个能够构建和管理不论什么基于java的project的工具诞生了。

    我们希望我们做的这些事情能够简化Java开发人员日复一日的工作。并有助于他们对不论什么基于Java的项目的理解。

    Maven的目标

    Maven的主要目标是希望开发人员能在最短的时间内理解开发的完整状态。为了达到这个目标,Maven在下面几个方面做出了努力:

    • 简化构建过程
    • 统一构建体系
    • 提供高质量的项目信息
    • 提供开发的最佳实践指南
    • 实现透明的向新特性的迁移

    简化构建过程

    使用Maven不须要知道一些潜在的或底层的机制,Maven屏蔽了非常多细节。

    统一构建体系

    Maven通过使用project对象模型(project object model POM)以及一系列可共享的插件来构建project。仅仅要你熟悉了怎么构建一个Mavenproject。你就自然知道了怎么构建全部的Mavenproject。

    这样的统一的构建体系能够节省大量的了解project结构的时间。

    提供高质量的项目信息

    Maven提供了非常多实用的project信息,这些信息一部分来自于project的POM文件,一部分来自原project源代码。

    Maven能够提供下面信息:

    • 从源代码控制处生成的改动日志文档
    • 交叉引用源代码
    • 开发人员邮件列表
    • 项目依赖列表
    • 包括覆盖率的单元測试报告

    Maven改进了project信息的提供。全部这些信息对Maven用户来说都是透明的。


    Maven还同意其它人提供Maven插件来获取project信息,与Maven获取的标准信息相同处理。这些都须要基于POM来完毕。

    提供开发的最佳实践指南

    Maven致力于收集现有的开发的最佳实践原则,并以此来简化project的开发。
    比如:规范。运行,和单元測试报告是正常使用Maven构建周期的一部分。

    眼下Maven中的单元測试最佳实践例如以下:

    • 将測试源代码放在一个单独的,但与主代码同级的位置
    • 使用測试用例命名规范来定位和运行測试
    • 让測试用例本身去设置測试环境,不要为了測试而专门构建环境

    Maven 在project的文件夹结构上也给出了很多最佳实践指南。遵守了这些project文件夹结构指南后。假设你了解了这样的文件夹结构,你也就会easy的了解其它全部遵循了这样的文件夹结构的Mavenproject。

    实现透明的向新特性的迁移

    Maven为使用者提供了一种简单的方式去更新他们已经install的project,这使得用户能够获取到基于Maven对project作出的不论什么变化。
    基于以上原因。install新的project、从第三方或Maven本身更新插件变得非常easy和常见。

    Maven不是什么?

    你也许听说过下面关于maven的描写叙述:

    • Maven是一个站点和文档工具
    • Maven继承于Ant,能够让你下载project依赖
    • Maven是一系列可复用的Ant脚本的集合

    Maven确实做了以上这些事情,这能够从“Maven是什么”一节中看到。

    但这些不是Maven仅有的特性。mavan的目标不止于此。
    Maven确实鼓舞最佳实践,但因为一些历史原因,我们对一些project的实现可能没有遵循这些最佳实践。尽管Maven被设计为有弹性的。在一定程度上,为了满足不同project的须要,为了达到全部的目标。我们做出了一些妥协,以使Maven能满足每一种情况。
    假设你决定了使用Maven,可是你的project文件夹结构与Maven推荐的不一样而你无法又一次组织,你可能须要放弃一些Maven特性,不能全然的使用Maven了。

    原文来自于Maven官网:What is Maven?

  • 相关阅读:
    数据表与简单Java类(多对多的关系)
    数据表与简单java类(一对多的关系)
    微信二次开发SDK使用教程--手机朋友圈评论删除任务反馈通知服务端
    微信二次开发SDK使用教程--手机检测到有人评论/删除朋友圈通知服务端
    微信二次开发SDK使用教程--手机检测到有人点赞/取消点赞通知服务端
    微信二次开发sdk使用教程--手机上删除朋友圈通知服务端
    微信二次开发sdk使用教程--手机上发送了朋友圈通知服务端
    微信二次开发SDK教程--上传手机客户端上微信的二维码给服务端
    微信开发SDK使用教程--手机微信个人号移除好友通知服务端
    微信开发SDK使用教程--手机微信个人号新增好友通知服务端
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7065194.html
Copyright © 2011-2022 走看看