zoukankan      html  css  js  c++  java
  • Java入门到精通——工具篇之Maven概述

    为接手gxpt准备已经快一个月了从SSH2-->EJB-->环境搭建-->Maven的构建。下面就带领大家初始Maven

    一、什么是Maven。

           Maven是一个垮平台的项目管理工具,主要服务于Java平台的项目构建、依赖管理和项目信息管理。Maven是一个能够帮我们自动化构建过程,充清理、编译、测试到生成报告,再到打包和部署。我们不需要一遍又一遍的输入命令,这些工作Maven都为我们做好了。Maven最大化地消除了构建的重复。在Maven以前,十个项目可能有十种构建方式;有了Maven后所有项目的构建命令都是简单一直的,这极大地避免了不必要的学习成本。

           综上所属,Maven作为一个构建工具,不仅能帮我们自动化构建,还能抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口。

    二、为什么用Maven。

    1、build逻辑可以被重用。在Ant中可能需要多次重复地写相同的语句,但由于POM的继承性,可以复用其它的POM文件中的语句。这样既可以写出清晰的build语句,又可以构造出层次关系良好的build工程。

    2、不必关注build工作的实现细节。我们只需要使用一些build生命周期短语就可以达到我们的目标,而不必管Maven是如何做到这些的。如,只需要告诉Maven要安装(install),那么它自然就会验证,编译,打包,及安装。

    3、Maven会自动加载工程依赖的artifact所依赖的其它artifact(Transitive Dependency),而不用显示的将这些artifact全部写到dependency中。

    4、如果完全使用Maven的标准目录布局,那么可以极大地减少配置细节。

    三、类似产品。

          在Maven出现之前有Ant。在以前的学习中用过Ant,Ant也是一个和Maven类似的项目构建工具,遗憾的是Ant的项目管理工具不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它信息。下面就是Maven与Ant的比较。

    Apache Ant

    • Ant 没有正式的约定如一个一般项目的目录结构,你必须明确的告诉 Ant 哪里去找源代码,哪里放置输出

    • Ant 是程序化的,你必须明确的告诉 Ant 做什么,什么时候做。你必须告诉它去编译,然后复制,然后压缩。

    • Ant 没有生命周期,你必须定义目标和目标之间的依赖。你必须手工为每个目标附上一个任务序列。

    Apache Maven

    • Maven 拥有约定,因为你遵循了约定,它已经知道你的源代码在哪里。它把字节码放到 target/classes ,然后在 target 生成一个 JAR 文件。

    • Maven 是声明式的。你需要做的只是创建一个 pom.xml 文件然后将源代码放到默认的目录。Maven 会帮你处理其它的事情。

    • Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。

    Meet so Meet. C plusplus I-PLUS....
  • 相关阅读:
    链表
    线程池 ------ linux C实现
    thymeleaf 标签使用方法
    thymeleaf的配置
    exception processing, template error resolving template
    Thymeleaf模板表达式
    Mybatis:使用bean传值,当传入值为Null时,提示“无效的列类型”的解决办法
    windows 查看端口
    session与cookie的区别
    substr与substring的区别
  • 原文地址:https://www.cnblogs.com/iplus/p/4490386.html
Copyright © 2011-2022 走看看