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

原文地址:https://www.cnblogs.com/jhcelue/p/6816768.html