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语句,又能够构造出层次关系良好的buildproject。

    2、不必关注build工作的实现细节。

    我们仅仅须要使用一些build生命周期短语就能够达到我们的目标,而不必管Maven是怎样做到这些的。如,仅仅须要告诉Maven要安装(install),那么它自然就会验证,编译。打包。及安装。

    3、Maven会自己主动载入project依赖的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 执行一系列的有序的步骤,直到到达你指定的生命周期。

  • 相关阅读:
    buuctf re [BJDCTF2020]BJD hamburger competition
    IOT家用路由器漏洞挖掘入门
    HWS计划2020夏令营学习笔记1逆向实战
    HWS计划2020夏令营学习笔记2逆向实战 密码学
    HWS计划2020夏令营学习笔记3 PWN堆利用之对抗glibc安全机制
    BUUCTF 刷题记录 PWN
    基于Firmadyne的固件模拟环境搭建
    【转】C#中的非安全编程(key:unsafe,fixed)
    .net导出为powerpoint的一些参考代码
    c# 获取串口设备的输入(unsigned char *和 char*)
  • 原文地址:https://www.cnblogs.com/jhcelue/p/6816768.html
Copyright © 2011-2022 走看看