Maven的介绍和使用

【一、定义】
1、Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。 

2、Maven可以通过一小段描述来管理项目的构建,报告和文档;
3、Maven是一个项目管理工具,包含:
(A)一个项目对象模型 (Project Object Model),
(B)一组标准集合,一个项目生命周期(Project Lifecycle),
(C)一个依赖管理系统(Dependency Management System),
(D)用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
4、Maven 有一个生命周期,当你运行 mvn install 的时候被调用。
这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。
【二、常用命令】

6、创建Maven项目: mvn archetype:generate
编译源代码: mvn compile
发布项目: mvn deploy
编译测试源代码: mvn test-compile
运行应用程序中的单元测试: mvn test
生成项目相关信息的网站: mvn site
清除项目目录中的生成结果: mvn clean
根据项目生成的jar:mvn package
在本地Repository中安装jar :mvn install
生成eclipse项目文件:mvn eclipse:eclipse
启动jetty服务:mvnjetty:run
启动tomcat服务:mvntomcat:run
清除以前的包后重新打包,跳过测试类:mvn clean package -Dmaven.test.skip=true:
【三、Maven使用】
7、配置Maven环境变量(略)
8、检验Maven配置:
a) 重新进入命令行(DOS窗口)模式,输入 echo %MAVEN_HOME%
b) 输入 mvn -version,正常情况下会显示maven及jdk的版本号
【四、Maven应用】
9、我们在工作中会创建很多的项目,项目之间总会有一些公用的jar包,之前我都是把所有的jar包都在每个项目中复制一遍。这样显然不好,相同的文件在硬盘上保存了许多分,而且jar包都是存在版本的像commons-io-1.4.jar与commons-io-1.5.jar方法不兼容。如果所有引用这个jar包的项目都需要更新,必须一个个项目的修改。

 Maven的介绍和使用“> </p> <p> 10, Maven的仓库则很好的解决了这些问题,它在每台机器上创建一个本机仓库,把本机上所有Maven项目依赖的jar包统一管理起来,而且这些jar包用“坐标”来唯一标识,这样所有Maven项目就不需要再象以前那样把jar包复制到自由目录中。<br/>【五,想法集成Maven】<br/> <img src=Maven的介绍和使用