zoukankan      html  css  js  c++  java
  • Maven 和 Ant 的区别?

    Maven 和 Ant 有什么不同呢?在回答这个问题以前,首先要强调一点:Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。因此,由于 Maven 和 Ant代表两个差异很大的工具,所以接下来只说明这两个工具的等同组件之间的区别,如下表所示: 

      
    MavenAnt
    标准构建文件project.xml 和 maven.xml
      
    build.xml
    特性处理顺序
    ${maven.home}/bin/driver.properties
    ${project.home}/project.properties
    ${project.home}/build.properties
    ${user.home}/build.properties
    通过 -D 命令行选项定义的系统特性
    最后一个定义起决定作用。
    通过 -D 命令行选项定义的系统特性
    由 任务装入的特性
    第一个定义最先被处理。
    构建规则构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。构建规则或多或少是静态的,除非使用<script>任务
    扩展语言
      
    插件是用 Jelly(XML)编写的。插件是用 Java 语言编写的。
    构建规则可扩展性通过定义 <preGoal> 和 <postGoal> 使构建 goal 可扩展。构建规则不易扩展;可通过使用 <script> 任务模拟 <preGoal> 和 <postGoal> 所起的作用。
    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
    Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
    此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。




  • 相关阅读:
    451. Sort Characters By Frequency
    424. Longest Repeating Character Replacement
    68. Text Justification
    44. Wildcard Matching
    160. Intersection of Two Linked Lists
    24. Swap Nodes in Pairs
    93. 递归实现组合型枚举
    98. 分形之城
    97. 约数之和
    96. 奇怪的汉诺塔
  • 原文地址:https://www.cnblogs.com/jeffen/p/6124830.html
Copyright © 2011-2022 走看看