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采用坐标系统来唯一标识一个项目依赖,开发者只需要指定依赖的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是一个用于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使得项目的构建过程可重用,降低了...