Maven,虽然用了一段时间了,但也只是在用而已,用基本的命令、功能,很多高级的应用及原理还不是很明白。个人感觉是,虽然有学习曲线,但的确让项目管理变的规范和简单,用不用,怎么用,大家自己决定啦。
从网上找了本书《Maven权威指南中文版》,想仔细了解一下Maven,读来觉得还不错,特与大家分享。以下是摘的与Ant的比较,怎么选择,看大家的需要了。
Apache Maven一个潜在的基于java的apache ant的构建工具的替代者。两者之间的比较:
第一:ant脚本是可以直接运行在maven中的。maven和ant最大的差别就是在于maven的编译以及所有的脚本都有一个基础,就是POM(project object model)。这个模型定义了项目的方方面面,然后各式各样的脚本在这个模型上工作,而ant完全是自己定义,显然maven更胜一筹。
第二:Maven对所依赖的包有明确的定义,如使用那个包,版本是多少,一目了然。而ant则通常是简单的inclde 所有的jar。导致的最终结果就是,你根本无法确定JBoss中的lib下的common-logging 是哪个版本的,唯一的方法就是打开 META-INF 目录下MANIFEST.MF。估计JBoss迟早会转向Maven的。
第三:Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。当编译的时候,maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,而ant需要自己定义了。这个好处导致的结果就是,用maven编译的项目在发布的时候只需要发布源码,小得很,而反之,ant的发布则要把所有的包一起发布,显然maven又胜了一筹。
第四:maven有大量的重用脚本可以利用,如生成网站,生成 javadoc,sourcecode reference,等。而ant都需要自己去写。试试 maven site 的效果。
第五:maven目前不足的地方就是没有象ant那样成熟的GUI界面,不过mavengui正在努力中。目前使用maven最好的方法还是命令行,又快又方便。
分享到:
相关推荐
### Maven3.5~3.6.3各版本下载知识点详解 #### Maven简介 Maven是Apache软件基金会组织下的一个开源项目,它是一种基于项目对象模型(Project Object Model,POM)...希望以上内容能够帮助大家更好地理解和使用Maven。
- **多模块项目**:Maven支持创建多模块项目,每个子模块都是独立的Maven项目,可以单独构建或作为一个整体构建。 - **生命周期和插件**:Maven的工作基于一组生命周期,每个生命周期包含多个阶段。可以通过配置不同...
根据提供的文件信息,本文将详细解析 Maven 2 的使用指南,包括从入门到高级的应用实践。Maven 2 是一款非常流行的 Java 项目管理和构建工具,由 Apache ...希望本文能帮助大家更好地理解和掌握 Maven 2 的使用技巧。
maven3 安装: 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成。... 相信大家都有配过环境变量的,详细步骤就不说了,对着把属性名和属性值配上的OK了。 打开 cmd,在里面敲:mvn -version
【标题】"maven eclipse 离线插件"涉及的是在Eclipse集成开发环境中安装和使用Maven的离线插件,这对于那些网络环境不稳定或者需要在无互联网的环境中工作的开发者来说尤其重要。Maven是Java项目管理和综合工具,它...
### Maven 3.5.4 下载与使用详解 #### 一、Maven简介 Maven 是一个项目管理和综合工具,主要用于 Java 项目的构建、依赖管理和项目信息管理。...希望本文能帮助大家更好地理解和使用 Maven 3.5.4。
本文将详细介绍如何使用批量删除maven下载失败的jar包的方法。 首先,Maven是一个非常优秀的项目管理工具,特别是其对项目使用的依赖包的管理。只需在pom.xml文件中配置响应的依赖,Maven就可以帮助我们自动下载所...
IntelliJ Idea下Maven插件使用技巧 标签:Idea Maven IntelliJ Idea下Maven插件使用技巧,对于开发人员快速上手,并可能有效提高开发效率,特将此整理分享给大家。
### Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中 #### 背景介绍 随着微服务架构的流行,Spring Boot ...希望本文能帮助大家更好地理解和掌握Spring Boot与Maven在项目打包中的应用技巧。
现在eclipse的社区版都不内置maven插件了,站点在线安装实在是太痛苦了(我装了6个小时),于是急于寻找一种离线安装的办法,可是在网上又找不到对应的m2e包(我用的eclipse4.7),于是我决定将站点下的文件(很多)...
主要介绍了详解阿里云maven镜像库配置(gradle,maven),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文将针对一些常见的问题进行详细的解答,并提供相应的解决方案,帮助大家顺利搭建Maven项目。 #### 一、问题1: Cannot change version of project facet DynamicWebModule to 3.0. **问题描述**: 在配置或更新...
### Maven 的下载、安装与配置详解 Maven是一款强大的项目管理和构建自动化工具,主要用于Java项目的构建、依赖管理和项目信息管理。下面将详细介绍Maven的下载、...希望本指南能帮助大家更好地掌握Maven的使用技巧。
很多Java开发人员都在使用maven作为版本仓库管理,然而因为版本等问题或多或少存在着很多的问题,本人亲测使用maven3.3.9版本是相对比较稳定的一个开发版本了,故此上传给CSDN用户大家共享开发。
### Maven安装与环境变量配置详解 #### 一、Maven简介 Apache Maven 是一个软件项目管理工具,基于项目对象模型(POM),通过一小段描述信息来管理项目的构建...希望本文能帮助大家顺利地进行 Maven 的安装和配置工作。
在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来。这种方法可以让我们在没有中央仓库支持的情况下,仍然可以使用需要的Jar包。 拷贝至项目根目录 ...
用Maven项目实现Ztree 的Controler层代码 直接贴上去了 大家扒下来就可以用的 但是要自己写业务实现
本文介绍了使用maven构建eclipse项目,挺不错的大家参考参考!
### Maven3 教程知识点概览 #### 一、Maven3简介 - **Maven定义**:Maven,意为“知识的...无论是对于新手还是资深开发者而言,《maven3》深入浅出系列教程都是一份宝贵的资源,可以帮助大家更深入地理解和应用Maven。
### 阿里云服务器安装Maven教程 #### 一、前言 Maven是Java项目构建管理和依赖管理工具,其主要功能包括依赖管理和项目构建生命周期。在开发过程中,Maven能够帮助开发者自动完成编译、测试、打包、部署等任务,极...