我有Ant的经验,如何开始使用maven。与maven相比有什么优势?
答案 0 :(得分:4)
有一个非常大的区别,蚂蚁强迫你创建自己的目标,你将获得maven的默认目标集,例如clean, install, package
等,而无需编写脚本。
Maven宣传您为java类,资源等使用公共目录结构。如果这样做,maven就在xml
文件上,您可以在其中指定一些项目元数据,例如name
,{{1最重要的是依赖性。它为ivy为ant提供了类似的依赖查找。
基于标准的maven升级,开发人员很容易接近并构建您的项目。使用package
等IDE,只需选择Netbeans
,然后点击open project
按钮即可在本地存储库中编译和安装项目。
我建议使用maven maven方式。以不同的方式做事通常会导致更多的痛苦而不是它的价值。 Maven提供了一个插件结构,您可以在其中执行各种任务,例如在需要时调用ant-library。如果您正在积极处理多个项目(并希望项目切换尽可能简单),maven是一个巨大的飞跃,特别是如果与install
或Nexus
等存储库服务器结合使用。
您可以使用maven的Archiva
目标生成项目结构,或者您可以按照我每次复制方式设置空模板项目的方式来完成。然后你需要maven二进制文件和项目定义文件archetype
,我通常也会在项目之间复制粘贴。
下面列出了一个样本。使用此示例,您将获得外部库log4j,并自动获得构建和打包您自己的项目的所有必要性(在本例中为pom.xml
文件)。
jar
答案 1 :(得分:1)
大约两周前,我遇到了同样的情况。在我看来,与Ant相比,Maven更强大。
它有一个generate命令,可以很容易地启动各种类型的新项目(工件),并且还将与pom.xml文件一起构建标准目录结构, 从而处理需要在Ant的build.xml文件中编写的许多内容。
管理依赖关系也要好得多。 Maven将从repos下载依赖项,并将它们存储在系统的中央存储库中。如果本地存储库中已存在依赖项,则它将从那里获取它而不是再次下载它。
我使用eclipse和maven有一个命令(mvn eclipse:eclipse
),它在项目目录中创建.classpath文件。所以不需要在eclipse中再次添加库。
maven网站上的Getting started guide是一个很好的资源,涵盖了很多东西 -
答案 2 :(得分:0)
与Ant相比,Maven做得好的是依赖管理和构建生命周期的标准化。
至于学习更多关于它的知识,Maven文档非常易读且透彻。
我首先看一下介绍性内容,它解释了Maven与其他构建工具之间差异的一些核心原则。
http://maven.apache.org/what-is-maven.html
然后下载并安装maven,打开终端并输入...
mvn archetype:generate
选择所有默认值,您最终会得到一个简单的可构建项目,其中包含一个可运行的类和一个匹配的测试文件。将其用作测试项目,以熟悉构建生命周期和依赖项解析过程。