转自http://www.blogjava.net/wanghaikuo/archive/2006/12/02/84985.html
现在maven似乎很火,但网上的中文资料大部分都是maven1的,对maven2的入门介绍比较少。
本文演示maven2的安装,配置和初步体验,不涉及深入的原理。
本文内容主要参考
http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
1.安装
下载Maven.目前的版本是2.0.4
http://www.apache.org/dyn/closer.cgi/maven/binaries/maven-2.0.4-bin.zip
解压缩后,设置环境变量M2_HOME到maven目录;在环境变量path中增加maven的bin目录。
在命令行输入
Mvn -version
显示
Maven version: 2.0.4
则安装成功。
2. 网络设置
maven运行时需要网络环境。如果你的网络需要代理,则要在maven目录的conf/settings.xml中设置。
找到<proxies>节点,按照例子,根据自己实际环境设置。
3.体验maven
在命令行中,进入你常用的项目文件夹,输入
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
如果网络配置正确,maven就会下载需要的文件,执行任务,最终显示“BUILD SUCCESSFUL”,并生成my-app目录。
让我们看一下mvn对项目目录的组织:
My-app
├─pom.xml
└─src
├─main
│ └─java
│ └─com
│ └─mycompany
│ └─app
│ └─App.java
└─test
└─java
└─com
└─mycompany
└─app
└─AppTest.java
可以看出,代码和测试代码分别放在main及test文件夹下。
Pom.xml描述项目对象模型(Project Object Model)。其模式文件为http://maven.apache.org/xsd/maven-4.0.0.xsd
详细的POM说明请参考相关资料。
4.maven命令
在命令行下输入mvn -h , 显示mvn帮助,其中usage: mvn [options] [<goal(s)>] [<phase(s)>]表明了mvn命令的构成。
Options:可选的参数。比如前面提到的-version , -h等。
Goal(s): 表示maven构建的“目标”。比如前面的
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
其中archetype:create表示archetype插件下的create目标。这里,插件是为了某种目的构建的目标的集合,maven通过插件扩展其功能。
还可以为目标传递一些参数,比如上面的“-DgroupId=com.mycompany.app -DartifactId=my-app”。
Phase(s):阶段。表示maven构建生命周期 中的一个步骤。使用相位命令时,maven会执行生命周期中该阶段之前的所有命令,使项目处于指定的“状态”。
比如在刚才创建的项目路径下输入mvn compile,会创建target文件夹,并编译class,使项目处于“已编译”状态。
- maven定义的生命周期中主要的相位如下:
- validate: 验证项目是否正确以及相关信息是否可用。
- compile: 编译。
- test: 通过junit进行单元测试。
- package: 根据事先指定的格式(比如jar),进行打包。
- integration-test: 部署到运行环境中,准备进行集成测试。
- verify: 对包进行有效性性和质量检查。
- install: 安装到本地代码库。
- deploy: 在集成或发布环境,将包发布到远程代码库。
在“默认”的生命周期之外,还有两个“阶段”:
- clean: 清除以前的构建物。
- site: 生成项目文档。
阶段实际上是通过目标的组合实现的。
5.组合命令
可以通过对目标及相位的组合使得一个命令完成多个功能,比如:
mvn clean dependency:copy-dependencies package
相当于按顺序执行
mvn clean
mvn dependency:copy-dependencies
mvn package
到这里,对maven应该有一个初步的印象并能上手使用了吧?更多的内容可以查阅相关的文档。
分享到:
相关推荐
** Maven2 快速入门教程 ** Maven是Apache软件基金会开发的一款项目管理和集成工具,主要应用于Java项目。Maven2是Maven的第一个稳定版本,它极大地简化了项目的构建、依赖管理和文档生成过程。本教程将带你一步步...
Maven的快速入门包括配置环境变量、了解Maven的仓库概念以及基本的构建命令。Maven的仓库分为本地仓库和远程仓库,本地仓库用于存储本地项目依赖的jar包,远程仓库则是Maven中央仓库或其他第三方仓库,用于当本地...
学习 Maven,可以参考 Maven 的官方文档、教程和社区论坛,获取最新的信息和问题解答。此外,Maven 的插件库提供了大量的插件,用于扩展 Maven 的功能,如自动部署、性能测试等。 7. Tomcat 的安装 Apache Tomcat ...
** Maven手把手入门教程 ** Maven是一款强大的Java项目管理工具,它可以帮助开发者构建、管理和部署项目。在Java开发领域,Maven已经成为事实上的标准,因为它简化了项目的构建过程,通过标准化的生命周期和依赖...
标题"超详细Maven快速入门到精通.txt打包整理.zip"表明这是一个关于Maven的全面教程,涵盖了从基础到高级的各个方面,旨在帮助用户快速掌握Maven的使用。Maven是一个Java项目管理和综合工具,由Apache软件基金会开发...
本教程将带你快速入门Maven的基础知识。 **一、Maven的核心概念** 1. **项目对象模型(POM)**: Maven的中心概念是POM,它是项目配置的XML文件,包含了项目的元数据、依赖、构建指令等信息。POM帮助Maven理解如何...
这使得开发者能快速搭建项目框架,为后续开发工作提供便利。 对于集成开发环境(IDE)如Eclipse,Maven也有对应的插件(Maven for Eclipse plugin),使得开发者可以在Eclipse中直接管理Maven项目。安装这个插件后...
### Maven 使用入门详解 #### Maven 介绍与优势 Maven 是一款流行的 Java 项目管理和构建工具,它通过一套标准化的方法来简化项目的构建过程。Maven 的核心价值在于它能够简化项目构建过程,使得开发者能够更加...
2. **初始化项目**:使用`mvn archetype:create`命令可以快速创建一个新的Maven项目结构。 3. **构建项目**:通过运行`mvn clean compile`命令,Maven会清理旧的构建产物,然后编译源代码。 4. **测试项目**:使用...
通过这个“java Struts2快速入门教程pdf”中文版,你可以了解到Struts2的基本架构和使用方法,为你的Java Web开发之路打下坚实基础。实际操作过程中,结合教程逐步实践,将理论与实践相结合,相信你很快就能掌握...
- The 5 minute test:官方提供的快速入门指南。 - Getting Started Tutorial:官方入门教程,适合初学者。 - Build Cookbook:包含各种构建场景的实例和解决方案。 - POM Reference:详述了Project Object ...
**Maven 2 5分钟学习教程(中文)——官方文档翻译** Maven是一个强大的Java项目管理工具,它简化了构建、依赖...这篇5分钟学习教程提供了快速入门的基础,深入理解Maven还需要实践和不断探索其丰富的功能和配置选项。
4. 最后,参考`springside+maven(入门).doc`,这是一个针对初学者的Maven和Springside入门教程,将指导你从零开始搭建和运行一个简单的项目。 在学习过程中,不断实践是关键,通过创建自己的项目并应用所学知识,你...
`archetype:generate`目标会引导用户选择一个项目模板(archetype),默认的maven-archetype-quickstart是一个快速启动的简单Java项目模板。 完成项目创建后,Maven会在指定的目录结构中生成必要的文件,包括pom....
本教程通过"超详细Maven快速入门到精通[视频课程].txt打包整理.zip",旨在帮助初学者快速掌握Maven的基本用法并逐步进阶到精通。 1. Maven基础: Maven基于项目对象模型(Project Object Model,POM),它定义了...