Maven和Ant的区别:
1、不需要写复杂的处理脚本
2、声明式的类库依赖管理,如使用那个包,版本是多少,一目了然;
而ant则通常是简单的inclde所有的jar
3、ant脚本是可以直接运行在maven中
4、Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库
里,如jar,tld,pom,等。
当编译的时候,maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。
这一切都是自动的,而ant需要自己定义
了。
这个好处导致的结果就是,用maven编译的项目在发布的时候只需要
发布源码,小得很
,而反之,ant的发布则要把所有的包一起发布,显然maven
又胜了一筹。
5、maven目前不足的地方就是没有象ant那样成熟的GUI界面
Maven的生命周期:
第一,顾名思义,运行Maven的每个步骤都由它来定义的,这种预定义的默认行为使得我们使用Maven变得简单
,
相比而言,Ant的每个步骤都要你手工
去定义。
第二,这个模型是一种标准,在不同的项目中,使用Maven的接口是一样的,这样就不用去仔细理解每个项目的构建了,
一般情况下,mvn clean install
这样的命令是通用的。
三套生命周期:
- Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
- Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
- Site Lifecycle 生成项目报告,站点,发布站点。
每套生命周期都由一组阶段(Phase)组成,我们平时在命令行输入的命令总会对应于一个特定的阶段。比如,运行mvn clean
,这个的clean是Clean生命周期的一个阶段。有点绕?要知道有Clean生命周期,也有clean阶段。
Clean生命周期一共包含了三个阶段:
- pre-clean 执行一些需要在clean之前完成的工作
- clean 移除所有上一次构建生成的文件
- post-clean 执行一些需要在clean之后立刻完成的工作
在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行,也就是说;mvn clean
等同于 mvn pre-clean clean
,如果我们运行 mvn post-clean
,那么 pre-clean,clean
都会被运行。这是Maven很重要的一个规则,可以大大简化命令行的输入。
看一下Site生命周期的各个阶段:
- pre-site 执行一些需要在生成站点文档之前完成的工作
- site 生成项目的站点文档
- post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
- site-deploy 将生成的站点文档部署到特定的服务器上
install 将包安装至本地仓库,以让其它项目依赖。
deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
分享到:
相关推荐
**Maven介绍** Maven是一款强大的Java项目管理和整合工具,由Apache软件基金会开发。它引入了一个项目对象模型(Project Object Model,简称POM),通过POM文件,Maven能够理解和管理项目的构建、报告和文档生成等...
### Maven介绍及配置详解 #### 一、Maven概述 Maven是由Apache软件基金会支持的一款项目管理和理解工具,主要用于Java项目的构建与管理。Maven通过一个中心信息来管理项目的构建、报告和文档,大大简化了Java项目...
Maven 介绍、安装配置及Nexus使用
### 一、Maven是什么 Maven是一款基于服务Java平台的自动化构建工具 **构建**就是以“Java源文件”、“框架配置文件”、“JSP”、“HTML”、“图片”等资源为“原材料”,去生产一个可以运行的项目的过程 ### ...
这里面有Maven的下载路径及环境配置的步骤等等,为之后做项目blog做好铺垫。如果和我有相同爱好的可以下载看看。
Maven是一个广泛使用的Java项目管理和自动化构建工具,它极大地简化了构建、依赖管理和文档生成的过程。Maven的核心概念是项目对象模型(Project Object Model,简称POM),这是一个XML文件,包含了项目的元数据,如...
【标题】:“maven相关工具介绍” 【描述】:“包含如下文件:hudson-V1.doc,maven-definitive-guide_zh.pdf,Maven技术分享.ppt,全面介绍Maven” 【标签】:“maven 介绍” 【压缩包子文件的文件名称列表】:...
#### Maven 介绍与优势 Maven 是一款流行的 Java 项目管理和构建工具,它通过一套标准化的方法来简化项目的构建过程。Maven 的核心价值在于它能够简化项目构建过程,使得开发者能够更加专注于业务逻辑的开发。以下...
一、Maven介绍 Maven是一个基于项目对象模型(POM)的概念,用于管理项目的构建、报告和文档。它通过POM文件定义项目依赖、构建过程和插件,简化了项目构建和管理。Maven的中央仓库包含了大量的开源库,开发者可以直接...
**Maven介绍** Maven的主要功能包括: 1. **依赖管理**:Maven通过读取POM文件来管理项目的依赖关系,自动解决jar包冲突,确保所有依赖项的正确版本。 2. **构建工具**:提供了一系列的生命周期(如compile、test、...
maven介绍: Eclise: 缺点: Jar包: 版本管理,解决jar包冲突:删除老的jar包,保留新的jar包 不同的项目,jar包要复制一份;Users Library 羡慕yum的好处,安装软件,自动下载,自动验证,自动安装,自动测试;镜像网站 ...
- [1.1 Maven介绍](#11-Maven介绍) - [1.2 Maven主要作用理解](#12-Maven主要作用理解) - [1.3 Maven安装和配置](#13-Maven安装和配置) - [二、基于IDEA的Maven工程创建](#二基于IDEA的Maven工程创建) - [2.1...
1. Maven介绍 - Maven是什么? Maven是一个项目管理工具,主要服务于Java项目的构建,它依赖于项目对象模型(POM)的概念,通过POM文件来定义项目的配置信息,如项目依赖、构建配置等。 - 基于约定优于配置的原则...
#### Maven 介绍 Maven 是一个项目管理和综合工具,主要用于 Java 项目的构建、依赖管理和项目信息管理。通过 Maven 可以自动化项目的构建过程,包括编译、测试、打包、部署等,并且能够管理项目的依赖关系,简化...
Maven介绍** Maven是由Apache软件基金会开发的项目管理工具,主要功能包括项目构建、依赖管理、文档生成、源码编译、测试、部署等。Maven通过POM文件统一管理项目配置,使得项目构建变得标准化,减少了重复工作,...
### Maven介绍 Maven是一个项目管理工具,它主要用于构建、依赖管理和项目信息管理。Maven通过POM(Project Object Model)文件来管理项目的构建、报告和配置。其主要功能包括: 1. **依赖管理**: 自动下载并管理...