转自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应该有一个初步的印象并能上手使用了吧?更多的内容可以查阅相关的文档。
分享到:
相关推荐
依赖管理方面,Maven采用坐标系统来唯一标识一个项目依赖,开发者只需要指定依赖的groupId、artifactId和version,Maven便能自动解析并下载依赖。多模块项目是指一个项目被分为多个子模块,可以分别进行构建,而继承...
**Maven教程:基础篇——尚硅谷学习笔记 2022年** Maven是一个强大的Java项目管理和构建工具,由Apache软件基金会开发。它通过提供一个标准的项目对象模型(Project Object Model,POM)来简化项目的构建过程,并...
Maven教程,通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 ...
### Maven教程知识点详解 #### 一、Maven概述 **Maven** 是一款项目管理和集成工具,主要用于简化软件项目的构建过程。它通过提供一个统一的标准生命周期框架,使得开发者能够自动完成项目的基础设施搭建工作。...
maven教程,目录如下: Maven安装配置 Maven启用代理访问 Maven本地资源库 Maven中央存储库 如何从Maven远程存储库下载? Maven添加远程仓库 Maven依赖机制 定制库到Maven本地资源库 使用Maven创建Java项目 使用...
**IDEA搭建Maven教程** **一、Maven下载与安装** 1. **访问Maven官方网站**:首先,你需要访问Apache官方Maven的下载页面,网址是`www.apache.org`,然后向下滚动找到Maven的相关部分。 2. **下载Maven压缩包**:...
Maven 是一个流行的 Java 项目管理工具,它提供了项目构建、依赖管理和项目信息管理等强大功能。Maven 的核心是一个项目对象模型(POM)文件,该文件描述了项目的基本信息以及构建配置。通过使用 Maven,开发者可以...
本篇教程将带你深入理解Maven的核心概念和基本操作。 首先,Maven是一个基于项目对象模型(Project Object Model,简称POM)的项目管理工具。POM是Maven的核心,它是一个XML文件,包含了项目的基本信息、构建指令、...
一套不可多得的Maven视频教程,非常有用的通俗易懂,老师说话很温柔。
MAVEN教程,在Intellij IDEA中添加你之前安装的MAVEN的教程 MAVEN是JAVA打包必备工具,是JAVA程序员的必备技能之一 本文内容包括: MAVEN使用教程 如果你机子上已经安装了MAVEN,后又安装INTELIJ IDEA,如何将二者整合...
** Maven 详细教程实战例子电子书 ** Maven 是一个强大的构建工具,广泛应用于Java项目管理,它通过统一的构建过程简化项目的构建、依赖管理和生命周期。本教程将深入讲解Maven的基本概念、配置以及实际应用。 ###...
### Maven 教程知识点详解 #### 一、Maven 概念 **Maven** 是由 Apache 软件基金会支持的一款开源项目管理和综合工具。它通过定义项目对象模型(Project Object Model,简称 POM)的方式,实现了项目的构建、报告...
本文档旨在为读者提供一个系统的MAVEN+JENKINS使用教程,涵盖了MAVEN的基础知识、MYECLIPSE配置、MYECLIPSE运行MAVEN项目、加入依赖、命令行打包等方面的内容。 一、关于MAVEN MAVEN是一款基于项目对象模型(POM)...
### Maven实战Maven教程:深度解析与应用指南 #### Maven:构建工具的革命者 Maven,作为一款功能强大的自动化构建工具,自2007年以来,在Java开发领域引发了深远的影响。其设计理念围绕着项目对象模型(Project ...
maven是一个用于java项目管理和自动构建的软件工具。 项目开发中疑问 什么是maven 为什么要使用maven maven和ant的区别 maven安装 一个使用maven的例子 资源库和依赖 POM文件 maven插件 常见用法 源码目录结构 maven...
maven详细使用教程 maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。maven的主要作用是解决项目中存在的问题,如多个项目之间的依赖关系、测试方法的执行和仓库的管理等。 maven的...
1. **项目对象模型 (POM)**: POM是Maven的核心,它是一个XML文件,包含了项目的基本信息,如项目名称、版本、依赖关系、构建目标等。POM使得项目的配置可重用,减少了重复工作。 2. **依赖管理**: Maven自动处理...
**一、Maven基本概念** 1. **项目对象模型(Project Object Model, POM)**:Maven的核心是POM,它是Maven项目配置的XML文件,包含了项目的基本信息、依赖管理、构建指令等。POM使得项目的构建过程可重用,降低了...