Apache Maven是一个软件项目管理和理解工具。基于项目对象模型(POM)的概念,Maven是一个可以通过一段中央信息来管理项目的构建,报告和文档的软件项目管理工具.
项目的主页地址为:http://maven.apache.org/
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。它将你的注意力从作业层转移到项目管理层。此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。
目录
- 环境配置
- 第一个Maven项目
- 命令参数列表
[一]、环境配置
在官网:http://maven.apache.org/download.html 下载相关的压缩包,本文以apache-maven-2.2.1-bin.zip(截止2012-04-09目前最新版本为3.0.4,安装配置一样的)为例,解压到 d:\maven-2.2.1,目录结构如下:
12345678 D:\maven-2.2.1>tree卷 work 的文件夹 PATH 列表卷序列号为 2AF7-9BD9D:.├─bin├─boot├─conf└─lib
JDK的环境是必须的,这里就不再讲述JDK的环境配置。
我的系统是window7-64位,故以window系统为例,先在“系统属性-》高级-》环境变量”,中增加一个环境变量M2_HOME,其值为=D:\maven-2.2.1,同时在变量PATH的值最前面增加:.;%M2_HOME%\bin; ,如下图所示:
配置好所有环境变量后,按 win键+R,输入cmd,打开一个命令窗口,运行mvn –version 验证是否安装成功
如上图所示,恭喜你:表示安装配置已经成功了。
Maven还有一个重要的配置文件:settings.xml,该文件在 maven-2.2.1\conf\下。找到节点名称 <localRepository>,默认值是:${user.home}/.m2/repository/。该默认值在 Win7和Winxp还是有点不一样 : Win7 —C:\Users\用户名\.m2 ; Winxp —C:\Documents and Settings\用户名\.m2。可以修改到自己的指定路径比如:<localRepository>d:/.m2/repository</localRepository>。
[二]、第一个Maven项目
按 win键+R,输入cmd,打开一个命令窗口,运行如下命令:
1 2 |
C:\Users\Michael>cd /D G:\test\maven G:\test\maven>mvn archetype:create -DgroupId=com.micmiu.maven.quickapp -DartifactId=maven-demo-quick -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false |
相关参数简单说明:
- groupId :项目的java包结构
- artifactId :项目的名称,生成的项目根目录也是这个名字
- archetypeArtifactId :项目的架构类型,详细见第[三]部分介绍
执行完成后会生成一个名称为:maven-demo-quick,包结构为:com.micmiu.maven.quickapp的简单的Maven项目,详细项目结构如下:
1234567891011121314151617181920212223242526 G:\test\maven>cd maven-demo-quickG:\test\maven\maven-demo-quick>tree /F卷 other 的文件夹 PATH 列表卷序列号为 D238-BE47G:.│ pom.xml│└─src├─main│ └─java│ └─com│ └─micmiu│ └─maven│ └─quickapp│ App.java│└─test└─java└─com└─micmiu└─maven└─quickappAppTest.javaG:\test\maven\maven-demo-quick>
pom.xml文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.micmiu.maven.quickapp</groupId> <artifactId>maven-demo-quick</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>maven-demo-quick</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project> |
构建项目打包:G:\test\maven\maven-demo-quick>mvn package ,详细过程如下图:
成功后,可以运行简单的测试代码:
1 |
java -cp .;target\maven-demo-quick-1.0-SNAPSHOT.jar com.micmiu.maven.quickapp.App |
运行结果如下:
archetypeArtifactId 的值如下表:
Archetype ArtifactIds | Description |
---|---|
maven-archetype-archetype | An archetype which contains a sample archetype. |
maven-archetype-j2ee-simple | An archetype which contains a simplifed sample J2EE application. |
maven-archetype-mojo | An archetype which contains a sample a sample Maven plugin. |
maven-archetype-plugin | An archetype which contains a sample Maven plugin. |
maven-archetype-plugin-site | An archetype which contains a sample Maven plugin site. |
maven-archetype-portlet | An archetype which contains a sample JSR-268 Portlet. |
maven-archetype-quickstart | An archetype which contains a sample Maven project. |
maven-archetype-simple | An archetype which contains a simple Maven project. |
maven-archetype-site | An archetype which contains a sample Maven site which demonstrates some of the supported document types like APT, XDoc, and FML and demonstrates how to i18n your site. |
maven-archetype-site-simple | An archetype which contains a sample Maven site. |
maven-archetype-webapp | An archetype which contains a sample Maven Webapp project. |
常用的命令列表:
- mvn archetype:create :创建 Maven 项目(新版中该方法已经不推荐了)
- mvn archetype:generate :创建项目
- mvn archetype:generate -Dfilter=org.apache:struts :创建项目,并过滤模板
- mvn compile :编译源代码
- mvn test-compile :编译测试代码
- mvn test : 运行应用程序中的单元测试
- mvn integration-test :在集成测试可以运行的环境中处理和发布包。
- mvn site : 生成项目相关信息的网站
- mvn clean :清除目标目录中的生成结果
- mvn package : 依据项目生成 jar 文件
- mvn install :在本地 Repository 中安装 jar
- mvn install -Dmaven.test.skip=true :跳过测试
- mvn deploy:将jar包发布到远程仓库
- mvn eclipse:eclipse :生成 Eclipse 项目文件
- mvn idea:idea :生成idea项目
- mvn jetty:run :在jetty上运行项目
- mvn dependency:resolve :打印出已解决依赖的列表
- mvn dependency:tree :打印整个依赖树
- mvn dependency:copy-dependencies :导出项目依赖包
- mvn validate :验证工程是否正确,所有需要的资源是否可用
- mvn verify :运行任何检查,验证包是否有效且达到质量标准
原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]
本文链接地址: http://www.micmiu.com/software/build/maven-start-guide/
0 条评论。