• Maven简介(引用)


     

    Maven简介

    Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来定义生命周期阶段(Phase)中插件(plugin)目标(gole)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目。

    Maven与ant对比

    Ant工具仅仅关注预处理,编译,打包,测试和分发,是一个构建工具。而Maven功能是Ant 的超集,属于项目生命周期管理工具不仅仅关注于构建阶段,Maven还包括生成报告,生成Web站点等等。

    ● Ant

    Ant没有约定一个一般项目的目录结构,必须明确告诉ant到哪去找源代码等等信息。

    Ant是程序化的,必要告诉它什么时候该做什么事情。

    Ant没有生命周期,必须定义目标和目标之间的依赖,比如为每个目标配置任务。

    ● Maven

    Maven拥有约定,你遵守了约定Maven就知道去哪寻找源代码等等。

    Maven是声明式的,只需要创建一个pom.xml,maven就知道该做什么事情。

    Maven拥有一个生命周期,当运行Maven install,这条语句告诉Maven执行一系列步骤,这些步骤也是约定好的,不需要手动指定执行顺序。

    Ant和Maven的选择不是一成不变的,比如你现在的构建生命周期需要高度可自定义,则Maven的固定生命周期就不太适用。

    Maven的核心理念——约定优于配置

    系统,类库,框架应该假定合理的默认值,而非要求提供不必要的配置,配置虽然可以根据个人情况和喜好定制,但是却严重影响了项目人员之间的协作沟通。

    Maven的约定:

    源代码:src/main/Java

    资源文件:src/main/resource

    测试代码:src/test

    编译后的二进制文件:/target/classes

    可分发的最终文件(.jar,.war,.ear):/target

    (如果换成非约定优于配置的ant做以上的事情需要为每个都配置目录,如果有特殊需求需要配置路径的,maven也支持手动配置,但是默认为以上约定)

    Maven成功的核心原因——项目配置统一接口

    在以前,从版本服务器上检出两个项目,要想将它们打包成最终的可发布文件是非常困难的,因为你需要了解这两个项目是什么结构,分别需要发布什么东西,每个东西放在什么位置,现在新的程序员不需要了解这些,只需要执行maven install就能方便构建。

    Maven仓库

    Maven 为全世界的 Java 开发者提供一个免费的中央仓库,在其中几乎可以找到任何的流行开源类库;而且还支持私服(本地服务器)仓库,已达到更快获取类库的速度。通过一些 Maven 的衍生工具(如 Nexus ),我们还能对其进行快速地搜索。

    Maven是基于插件的

    Maven本身不做什么事情,几乎所有操作都是在插件上完成的,第一次执行命令会从中央服务器上下载命令执行插件来完成操作。

    转载:http://blog.csdn.net/wangpeng047/article/details/10035583

  • 相关阅读:
    遍历一个枚举类型
    ASP.NET:C#中时间格式的转换
    DataAdapter去批量更新数据的FAQ
    .Net/C#: 实现支持断点续传多线程下载的 Http Web 客户端工具类 (第2版) (C# DIY HttpWebClient) 收藏
    如何使数据库中取出的数据保持原有格式
    如何获取控制台应用程序自己的文件名
    2008将倒掉一大部分的工厂和贸易公司
    组六对半分组组合投资方案(36789)
    重又归孑然一身
    善于总结
  • 原文地址:https://www.cnblogs.com/zyp1/p/6961540.html
Copyright © 2020-2023  润新知