zoukankan      html  css  js  c++  java
  • 《Maven实战》笔记:第一章 Maven简介

    1.1何为Maven

    maven翻译为“知识的积累”,“内行”,“专家”
    作为Apache组织中颇为成功的一个开源项目,Maven主要服务于基于Java平台的项目构建,依赖管理和项目信息管理

    1.1.1何为构建

    编译,运行单元测试,生成文档,打包和部署

    1.1.2Maven是优秀的构建工具

    • Maven是跨平台的
    • 最大化地消除了构建的重复
    • 抽象了构建生命周期
    • 提供已实现的插件
    • 标准化构建过程

    1.1.3Maven不仅仅是构建工具

    • 依赖管理工具
      • 随着依赖的增多,版本不一致、版本冲突、以来臃肿等问题都会接踵而来。
      • Maven提供了一个优秀的解决方案(坐标系统)来定位每一个构件
    • 项目信息管理工具
      • 项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等
      • 通过Maven插件,我们能轻松获得项目文档、测试报告、静态分析代码、源码版本、日志报告等有价值的项目信息
    • 约定优于配置
      • Maven对项目目录结构、测试用例命名方式等内容都有既定的规则

    1.2同类工具

    • Make
      • 强大之处在于它可以利用所有系统的本地命令,达到快速、高效
      • 缺点
      • 将自己和系统绑定在一起了,无法跨平台
      • 语法不友好
    • Ant
      不是蚂蚁,而是意指“另一个整洁的工具”(Another Neat Tool),最早用来构建Tomcat
      • 支持跨平台
      • 使用Xml定义构建脚本,更加友好
      • 缺点
      • 针对构建的过程,每个项目都要重新编写
      • 没有依赖管理

    1.3Maven与极限编程

    极限编程(XP)是敏捷开发方法,强调拥抱变化。
    • Maven如何帮助XP团队实现一些核心价值
      • 简单
      • Maven暴露了一组一致、简洁的操作接口,简化构建系统的复杂度
      • 交流与反馈
      • 与版本控制系统结合,所有人都能执行最新的构建并快速得到反馈
      • 自动生成项目报告,帮助成员了解项目的状态,促进团队的交流
    • Maven无缝支持或融入到XP的实践中
      • 测试驱动开发(TDD)
      • TDD强调测试先行,所有产品都应由测试用例覆盖。
      • 测试是Maven生命周期中最重要的组成部分之一,提供现成的插件,如JUnitTestNG
      • 持续集成(CI)
      • CI强调的是项目以最短的周期(如15分钟)集成最新的代码。
      • CI的前提是源码管理系统和构建系统
      • 目前业界流行的CI服务器HudsonCruiseControl都能很好的和Maven集成,使用Maven后,持续集成会更加方便
      • 富有信息的工作区
      • 强调开发者能够快速方便地了解到项目的最新状态。
    “只有两类计算机语言,一类语言天天被人骂,还有一类没人用。” ------C++之父


    查看原文:http://yuyy.info/%e3%80%8amaven%e5%ae%9e%e6%88%98%e3%80%8b%e7%ac%94%e8%ae%b0/%e3%80%8amaven%e5%ae%9e%e6%88%98%e3%80%8b%e7%ac%94%e8%ae%b0%ef%bc%9a%e7%ac%ac%e4%b8%80%e7%ab%a0-maven%e7%ae%80%e4%bb%8b/
  • 相关阅读:
    关于晋升的5个建议
    不拘一格:网飞的自由与责任工作法
    博恩·崔西的人生管理课
    老板防止我上班摸鱼,给我装了个chrome插件
    彻底搞懂彻底搞懂事件驱动模型
    python 100 days
    不要懒惰地重复自己
    不要让“追求完美”阻碍你做决策
    Windows上使用Python Terminal(终端控制台) 打印日志带有特殊符号时显示不出来
    Python3 Mysql DBhelper封装
  • 原文地址:https://www.cnblogs.com/yuyy114/p/13047372.html
Copyright © 2011-2022 走看看