Java入门到精通---工具篇之Maven概述

原创 2016年08月29日 14:42:37

为接手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 执行一系列的有序的步骤,直到到达你指定的生命周期。

版权声明:本文为博主原创文章,未经博主允许不得转载。

内存泄露从入门到精通三部曲之排查方法篇(二)

转载地址:http://bugly.qq.com/blog/?p=872 1 最原始的内存泄露测试 重复多次操作关键的可疑的路径,从内存监控工具中观察内存曲线,是否存在...
  • wanglha
  • wanglha
  • 2015年11月11日 16:17
  • 337

2017最新高清大数据实时分析系统之Storm流计算从入门到精通

目录 1.1、 Storm简介和课程介绍.mp4 1.2、 Storm原理和概念详解.mp4 1.3、 Zookeeper集群搭建.mp4 1.4、 Zookeeper集群基本使用.m...
  • yiqizixueba
  • yiqizixueba
  • 2017年11月06日 23:24
  • 54

内存泄露从入门到精通三部曲之基础知识篇

堆内存用于存放所有由new创建的对象(内容包括该对象其中的所有成员变量)和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在堆中产生了一个数组或者对象后,还可以在栈中定义一个特殊的变量,...
  • Tencent_Bugly
  • Tencent_Bugly
  • 2015年11月06日 10:47
  • 1078

Java入门到精通——工具篇之Maven概述

一、概念。 gxpt 二、类似产品。 Ant Make
  • gwblue
  • gwblue
  • 2014年06月05日 07:11
  • 2334

cucumber java从入门到精通(5)使用maven创建cucumber java项目

目录(?)[-] cucumber java从入门到精通5使用maven创建cucumber java项目解决工程化问题下载eclipse及配置新建maven项目配置及运行cucumber 转自:...
  • niuniu0186
  • niuniu0186
  • 2016年06月28日 13:53
  • 724

2017新版storm大数据流计算从入门技术到项目实战之技术篇

1.1、 Storm简介和课程介绍.mp4 1.2、 Storm原理和概念详解.mp4 1.3、 Zookeeper集群搭建.mp4 1.4、 Zookeeper集群基本使用.mp4 1.5、...
  • wangjunhui
  • wangjunhui
  • 2018年01月31日 10:52
  • 40

区块链技术从入门到精通教程

2017最新区块链技术,从入门到精通视频教程(视频+源码+工具) 课程环境 Windows + Mist + eclipse 等 软件准备 Mist WebStorm 等 课程基础 ...
  • qq_36771421
  • qq_36771421
  • 2018年01月24日 15:24
  • 273

maven学习-从入门到精通(一)

一、Maven 概念:Maven是一个java语言编写的开源项目管理管理工具,是Apache软件基金会的顶级项目。主要用于项目构建,依赖管理,项目信息管理。百度百科 二、Maven下载  下载地址...
  • u011182412
  • u011182412
  • 2016年12月21日 17:35
  • 6700

SpringMVC从入门到精通第六章【转】

今晚陪哥们加班了,说实话这个行业虽然薪资"很高",但实际上加班加点是少不了的,尤其在遇到一个坑的设计专家。一个项目从设计到开发、测试、发布、实施。中间任何一个环节都不能有错误,我个人认为设计是最为重要...
  • u013686993
  • u013686993
  • 2016年10月26日 10:47
  • 132

《零基础学习软件测试》之LoadRunner从入门到精通

http://www.boobooke.com/bbs/thread-7641-1-1.html   0 性能测试常见用语 http://www.booboo...
  • liufangaliya
  • liufangaliya
  • 2016年08月11日 16:15
  • 1039
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java入门到精通---工具篇之Maven概述
举报原因:
原因补充:

(最多只允许输入30个字)