Maven是一个采用纯Java编写的开 源项目管理工具。Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可以方便更灵活的控制 项目。
1:http://maven.apache.org/download.html 下载最新版本 Maven 3.0.2 (Binary zip)
2:解压到 D:
3:配置环境变量
MAVEN_HOME : D:\apache-maven-3.0.2
MAVEN : %MAVEN_HOME%\bin
(可选) MAVEN_OPTS : -Xms256m -Xmx512m
在path 前面 加上 %MAVEN%;
4:验证安装是否成功
在命令行上输入 : mvn -version; 回车,如看到下面信息表示安装成功:
5:创建项目
在命令行上输入 :mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app 回车,
如果你是首次运行该命令(goal),maven将要花一些时间去把最新的工具包(Maven 把它叫作artifacts)下载到你的本地仓库。
命令执行完后你将看到maven生成了一个名为my-app的目录,这个名字就是你在命令中指定的artifactId,进入该目录,你将发现以下标准的项目结构:
其中:src/main/java 目录包含了项目的源代码,src/test/java 目录包含了项目的测试代码,pom.xml是项目的项目对象模型(Project Object Model or POM)。
6:POM
pom.xml 文件是maven对一个项目的核心配置,这个文件将包含你希望如何构建项目的大多数配置信息。POM大而复杂,但你不用全部去了解,只要使用一些常用的配置就可以了。下面列出这个POM的内容:
引用
<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.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>my-app</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>
7:第5步我们做了什么 引用
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
执行Maven 命令(goal)archetype:create,并且设置了一些参数( -DgroupId=com.mycompany.app -DartifactId=my-app) 在这个命令中,前缀 archetype 是包含create命令的一个maven的plugin。这个goal命令根据项目原型(符合maven标准的项目模板)建立了一个简单的项目。 现在可以确定地说,一个maven plugin 就是一些有着相同目的的goals命令的集合,例如 jboss-maven-plugin 这个插件,就是为了处理各种和jboss相关的任务。 8:Build 项目 在命令行上 输入 : cd my-app 回车,进入到 项目路径下
再输入 mvn package 回车这时命令行将会打印出各种动作,并且以下面一段信息结束:
与首次执行的命令(那是一个goal) 引用
archetype:create
不同,这次执行的只是一个简单的命令---package。不同于goal,这是一个phase(阶段),一个phase是指构建生命周期的一个阶段,构建生命周期是指有序的一系列phase。当给出一个phase,Maven将执行所有的在此阶段前的phase及其自身,例如,如果我们执行compile阶段,实际上执行的阶段有: 引用
validate
generate-sources
process-sources
generate-resources
process-resources
compile
你可以使用以下的命令来测试新编译和打包出来的jar包, 引用
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
这时将打印出最经典的: 引用
Hello World!
9:运行Maven工具 虽然很难列出一张非常全面的表,但在此可先列出最普通的默认的生命周期阶段: 引用
validate:验证工程是否正确,所有需要的资源是否可用。
compile:编译项目的源代码。
test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
Package:把已编译的代码打包成可发布的格式,比如jar。
integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。
verify:运行所有检查,验证包是否有效且达到质量标准。
install:把包安装在本地的repository中,可以被其他工程作为依赖来使用。
Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
clean:清除先前构建的artifacts(在maven中,把由项目生成的包都叫作artifact)。
site:为项目生成文档站点。
上面列出的各个Phases(阶段)实际上对应着潜在的goals,特殊的每个阶段执行的特殊的goals由项目的类型所决定,例如:如果项目的类型是jar,package阶段将默认执行jar:jar的goals,如果项目类型是war,那么package阶段执行的goals将是war:war。 有件有趣的事情需要注意,那就是phases和goals需要按一定的顺序来执行。 mvn clean dependency:copy-dependencies package 这个命令将先清除项目,然后拷贝依赖,最后把项目打包,当然,在打包之前,会先执行此阶段之前的阶段.如compile,test等. 生成站点 mvn site 这个阶段生成基于pom.xml配置的项目信息。你可以在target/site目录下看到生成的文档。
分享到:
相关推荐
Maven教程,通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 ...
maven教程,目录如下: Maven安装配置 Maven启用代理访问 Maven本地资源库 Maven中央存储库 如何从Maven远程存储库下载? Maven添加远程仓库 Maven依赖机制 定制库到Maven本地资源库 使用Maven创建Java项目 使用...
Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理 工具,使用maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。本文档详细介绍了Maven的下载安装以及怎么使用。
这是一套详细介绍maven框架的视频教程!这是一套详细介绍maven框架的视频教程!这是一套详细介绍maven框架的视频教程!
一套不可多得的Maven视频教程,非常有用的通俗易懂,老师说话很温柔。
MAVEN教程,在Intellij IDEA中添加你之前安装的MAVEN的教程 MAVEN是JAVA打包必备工具,是JAVA程序员的必备技能之一 本文内容包括: MAVEN使用教程 如果你机子上已经安装了MAVEN,后又安装INTELIJ IDEA,如何将二者整合...
maven是一个用于java项目管理和自动构建的软件工具。 项目开发中疑问 什么是maven 为什么要使用maven maven和ant的区别 maven安装 一个使用maven的例子 资源库和依赖 POM文件 maven插件 常见用法 源码目录结构 maven...
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。...于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。
maven详细使用教程 maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。maven的主要作用是解决项目中存在的问题,如多个项目之间的依赖关系、测试方法的执行和仓库的管理等。 maven的...
本教程将指导您使用 IDEA 创建一个 Maven Web 项目,从安装 Maven 到配置 Maven 环境、创建 Maven 工程、pom.xml 文件配置、依赖管理等。 1. 安装 Maven 在 IDEA 中使用 Maven 之前,需要先安装 Maven。在 Maven ...
本文面向具有eclipse相关开发经验的技术人员,一步步说明如果在eclipse中集成Maven进行开发。本教程是入门级教程,由于本站发表文章实在不便,故将word文档直接上传了。 目录 Eclipse整合Maven开发教程 1 1. ...
网上下的maven3.0.4学习教程,还不错,值得一看!
maven 入门教程PDF,包括maven介绍,配置,项目创建,eclipse创建maven项目等
在JAVA界,可能大家比较熟悉ANT,它提供了强大的功能,让...在网上搜索发现众多开源团队中有一个国内开源团队也使用了MAVEN管理项目,并可以基于框架来生成项目原型。 本文以新建一个项目为实例,讲解MAVEN的基本应用
maven是一个用于java项目管理和自动构建的软件工具。 公司员工内部maven培训ppt教程,总体介绍了一下maven 想迅速了解maven 的可以看看
java编写的用于构建系统的自动化工具。 目前版本是2.0.9,注意maven2和maven1有很大区别,阅读第三方文档时需要区分版本。
尚硅谷学习笔记+代码,Maven 教程 Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具 1、构建 Java 项目开发过程中,构建指的是使用 『原材料生产产品』 的过程。 原材料 Java...
1.Maven简介 2.下载与安装 3.Maven基础概念(重点) 4.第一个Maven项目(手工制作) (重点) 5.第一个Maven项目(IDEA生成)(重点) 6.依赖管理(重点) 7.生命周期与插件 8.分模块开发与设计(重点) 9.聚合...
maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置,变更maven默认的本地仓库的位置可更改存在于maven的settings.xml文件中local...
极客出品——项目管理工具Maven 工具教程。 Apache Maven 是一套软件工程管理和整合工具。基于工程对象模型(POM)的概念,通过一个中央信息管理 模块,Maven 能够管理项目的构建、报告和文档。