Apache Maven简介

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最好的方法还是命令行,又快又方便。

MavenIDE网站提供了各种流行开发工具下相应的插件

http://maven.apache.org/

时间: 2024-12-21 22:06:58

Apache Maven简介的相关文章

Maven简介(五)——pom.xml

 Maven的pom.xml介绍 6.1     简介        pom.xml文件是Maven进行工作的主要配置文件.在这个文件中我们可以配置Maven项目的groupId.artifactId和version等Maven项目必须的元素:可以配置Maven项目需要使用的远程仓库:可以定义Maven项目打包的形式:可以定义Maven项目的资源依赖关系等等.对于一个最简单的pom.xml的定义必须包含modelVersion.groupId.artifactId和version这四个元素,当然

the exception "Failure to transfer org.apache.maven:maven-parent" about Maven

   今天使用Maven碰到了这个异常,异常信息如下: Html代码   Failure to transfer org.apache.maven:maven-parent:pom:17 from http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has ela

可与apache ant工具媲美的Apache Maven

17Tech 05月28日 消息: Apache Maven一个潜在的基于java的apache ant的构建工具的替代者.两者之间的比较: 第一:ant脚本是可以直接运行在maven中的.maven和ant最大的差别就是在于maven的编译以及所有的脚本都有一个基础,就是POM(project object model).这个模型定义了项目的方方面面,然后各式各样的脚本在这个模型上工作,而ant完全是自己定义,显然maven更胜一筹. 第二:Maven对所依赖的包有明确的定义,如使用那个包,版

使用GlassFish v2、Apache Maven 2和NetBeans IDE 6.0构建EJB 3

软件需求 要创建EJB 3.0应用程序构建环境,需要使用以下项目: GlassFish v2 b58d NetBeans IDE 6.0 Nightly from 03.09.2007 Apache Maven 2.0.7 Mevenide2-Netbeans插件(NetBeans.Maven2项目支持) 假定以上软件已全部安装并且运行正常.软件安装的方法为将文件解压到所选目录中. 要安装NetBeans Maven2项目支持插件,需要启动NetBeans IDE 6.0.接下来,选择 Tool

Apache Maven 3.1.0 安装、部署、使用

一.下载 下载页面http://maven.apache.org/download.cgi 找到最新的 ,本例为Maven 3.1.0 http://mirrors.cnnic.cn/apache/maven/maven-3/3.1.0/binaries/apache-maven-3.1.0-bin.zip 二.安装 1.解压zip ,将apache-maven-3.1.0文件夹拷贝至C:\Program Files\Apache Software Foundation 目录下 2.在环境变量中

Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:RELEASE from any of t

Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:RELEASE from any of the configured repositories. Could not resolve artifact org.apache.maven.archetypes:maven-archetype-webapp:pom:RELEASE Failed to resolve version for or

关于 Apache Maven 您不知道的 5 件事-转

用 Maven 管理项目文件周期的技巧 可能您对配置文件已经很熟悉了,但是您知道可以在 Maven 中使用它们来在不同的环境中执行特定行为吗?本期 5 件事 系列 文章不单介绍 Maven 的 构建特性,也介绍了管理项目生命周期的基本工具,交付了 5 个可以提高生产效率的技巧,使您在 Maven 中管理您的应用程序更为容易.  评论: Steven Haines, 创始人兼 CEO, GeekCap Inc. 2011 年 1 月 13 日 内容 关于本系列 您觉得自己懂 Java 编程?事实是

pom文件中引用org.apache.maven.plugins报错

问题描述 pom文件中引用org.apache.maven.plugins报错 错误:Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (execution: default-testCompile phase: test-compile) 解决方案 maven pom 报错 Failed to execut

Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart

  之前都是命令行创建,今天用eclipse装m2eclipse的时候装完后创建项目的时候报错: Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of the configured repositories. 解决方式: 1.从http://maven.oschina.net/content/groups/public/org/apache/ma