Maven除了以程序构建能力为特色之外,还提供高级项目管理工具。由于Maven的缺省构建规则有较高的可重用性,所以常常用两三行Maven构建脚本就可以构建简单的项目。由于Maven的面向项目的方法,许多Apache Jakarta项目发文时使用Maven,而且公司项目采用Maven的比例在持续增长。
特点
那么,Maven和Ant有什么不同呢?在回答这个问题以前,首先要强调一点:Maven和Ant针对构建问题的两个不同方面。Ant为Java技术开发项目提供跨平台构建任务。Maven本身描述项目的高级方面,它从Ant借用了绝大多数构建任务。因此,由于Maven和Ant代表两个差异很大的工具,所以接下来只说明这两个工具的等同组件之间的区别,如图:
Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Maven有一个生命周期,当你运行mvn install的时候被调用。这条命令告诉Maven执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven运行了许多默认的插件目标,这些目标完成了像编译和创建一个JAR文件这样的工作。
此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。
常用命令
mvn archetype:generate创建Maven项目
mvn compile编译源代码
mvn deploy发布项目
mvn test-compile编译测试源代码
mvn test运行应用程序中的单元测试
mvn site生成项目相关信息的网站
mvn clean清除项目目录中的生成结果
mvn package根据项目生成的jar
mvn install在本地Repository中安装jar
mvn eclipse:eclipse生成eclipse项目文件
mvnjetty:run启动jetty服务
mvntomcat:run启动tomcat服务
mvn clean package-Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类
极悦的,免费下载学习。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习