MAVEN教程
Apache Maven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。
本教程将介绍如何使用Maven在Java开发,或任何其他的编程语言的任何项目。
Maven是什么?
Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。
在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。
Maven提供了开发人员的方式来管理:
-
Builds
-
Documentation
-
Reporting
-
Dependencies
-
SCMs
-
Releases
-
Distribution
-
mailing list
概括地说,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。
Maven历史
Maven最初设计,是以简化Jakarta Turbine项目的建设。在几个项目,每个项目包含了不同的Ant构建文件。 JAR检查到CVS。
Apache组织开发Maven可以建立多个项目,发布项目信息,项目部署,在几个项目中JAR文件提供团队合作和帮助。
Maven目标
Maven主要目标是提供给开发人员:
Maven项目的结构和内容在一个XML文件中声明,pom.xml 项目对象模型(POM),这是整个Maven系统的基本单元。有关详细信息,请参阅Maven POM的部分。
Apache Maven 是一种创新的软件项目管理工具,提供了一个项目对象模型(POM)文件的新概念来管理项目的构建,相关性和文档。最强大的功能就是能够自动下载项目依赖库。
在本教程中,它提供了如何使用 Apache Maven 3.x 的许多实例和解释。
Maven安装和配置
在 Windows 和 Ubuntu 的安装指南。
- 在Windows上安装Maven
有关如何在 Windows 上安装 Maven 的文章。
- 启用Maven的代理访问
要使用代理服务器来连接互联网,必须在 Maven 配置代理设置。
Maven资源库
Maven 位置,中央和远程存储库配置和解释,有些术语可能需要在 Maven 使用前理解。
- Maven本地资源库
Maven 的本地资源库是用来存储项目的依赖库,默认的文件夹是 “.m2” 目录,可能需要将其更改为另一个文件夹。
- Maven中央存储库
Maven 中央存储库是 Maven 用来下载所有项目的依赖库的默认位置。
- 如何从Maven远程存储库下载?,如何添加远程库?
并非所有的库存储在Maven的中央存储库,很多时候需要添加一些远程仓库来从其他位置,而不是默认的中央存储库下载库。
- Maven依赖机制
这里的文章是关于传统方式和Maven方式的依赖库的不同,并说明 Maven 会从那里搜索这些库。
- 定制库到Maven本地资源库
很多库仍然不支持 Maven 的 pom.xml 的概念,这里有一个指南来说明如何包括“非Maven支持”库到 Maven 本地资源库中。
基于Maven项目和Eclipse IDE
实例是使用Maven创建Java项目和Web应用程序,以及演示如何将其导入到Eclipse IDE中。
- 使用Maven创建Java项目
使用 Maven 来创建一个 Java 项目。
- 转换基于Maven的Java项目支持Eclipse IDE
指导转换基于Maven的Java项目来支持在 Eclipse IDE 中。
- 使用Maven创建Web应用程序项目
使用Maven来创建Web应用程序项目。
- 转换基于Maven的Web应用程序支持Eclipse IDE
Maven转换基于Web应用程序来支持Eclipse IDE中指南。
- 使用Maven模板创建项目
另外,您也可以从 Maven 的模板来创建标准项目。
Maven基本操作
一些基本的操作,编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
- 使用Maven构建项目
“mvn package” 来构建项目
- 使用Maven清理项目
“mvn clean” 来清理项目
- 使用Maven运行单元测试
“mvn test” 来执行单元测试
- 将项目安装到Maven本地资源库
“mvn install” 打包和部署项目到本地资源库
- 生成基于Maven的项目文档站点
“mvn site” 来为您的项目生成信息文档站点
- 使用“mvn site-deploy”部署站点(WebDAV例子)
“mvn site-deploy” 通过WebDAV部署自动生成的文档站点到服务器
- 部署基于Maven的war文件到Tomcat
“mvn tomcat:deploy” 以 WAR 文件部署到 Tomcat
Maven参考
- Apache Maven 官方教程
- Apache Maven (Wiki)
国外的maven仓库不能使用,可以使用国内的镜像,在settings中配置
在setting中修改本地默认仓库位置。
安装eclipse的maven插件及需要注意的问题见视频
http://www.imooc.com/video/8643
maven的构建过程是一个生命周期,一般包括clean compile test package install,你运行生命周期中的一个节点,其前面的节点就会自动运行。你还可以在这些节点中加入插件,在运行这个节点的时候就会自动运行这个插件。插件的加入在POM文件中通过plugins加入插件,所有的插件可以在这个网站上找到。http://maven.apache.org/plugins
具体见 http://www.imooc.com/video/8644
比如生成源码:
说白了就是在主干上增加一些辅助的功能。
POM文件的主要节点说明