Maven简介

Maven项目对象模型(pom),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

Maven最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。

说白了,maven是负责管理整个项目的管理工具,他提供了对于jar包的支持,使用户不需要自己添加jar包。

在IDEA 中配置maven windows

Maven 安装

maven有几个版本如何配置(maven的详细配置及使用)(1)

maven有几个版本如何配置(maven的详细配置及使用)(2)

选择Maven模版

maven有几个版本如何配置(maven的详细配置及使用)(3)

创建过程中,配置Maven主目录

maven有几个版本如何配置(maven的详细配置及使用)(4)

maven有几个版本如何配置(maven的详细配置及使用)(5)

创建好后的目录结构如下图,IDEA创建了src/main/resources(自动创建)、src/main/java(手动创建)、src/main/test(手动创建)、以及pom.xml文件(自动创建)

maven有几个版本如何配置(maven的详细配置及使用)(6)

按照Maven约定,项目的主目录位于src/main/resources、src/main/java中,测试目录位于src/main/test 中,所以我们在最终打包项目的时候,只包含主目录代码,不会包含测试目录里的代码,而测试目录里的代码只会在测试时候用到。

最后pom.xml这个文件是我们Maven项目的核心文件,POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖。

maven有几个版本如何配置(maven的详细配置及使用)(7)

project:是xml文件的根元素,我们主要关心根元素下的子元素

modelVersion:定义了当前POM模型的版本,Maven 2 或Maven 3 只能是4.0.0

groupId:定义了项目属于哪个组,一般来说这个网网和公司或组织关联,比如说,你所在的公司为mycom.那就应该定义为com.mycom.mymaven,mymaven为项目名称

artifactId:定 义了当前Maven项目在组中的唯一id,例如HelloMaven这个项目,我则把他定义为hello-maven,还例如spring项目,他的 groupId为org.springframework,对于content项目来说artifactId则为spring-content,web项 目则为spring-web

最后我们使用IntelliJ IDEA来用Maven编译我们的代码,打开Maven Projects菜单,如图,选中clean、compile并右键点击Run 'hello-maven[clean,compile]'按钮即可。

maven有几个版本如何配置(maven的详细配置及使用)(8)

maven有几个版本如何配置(maven的详细配置及使用)(9)

maven有几个版本如何配置(maven的详细配置及使用)(10)

根据输出结果我们看到,clean命令让Maven先清理target目录,Maven一般认为项目的输出目录为target,然后执行resource任务,现在为定义项目资源,所以暂时略过,最后执行编译任务!

在IDEA中配置maven osx

打开菜单 使用command ,Preferences->Build,Execution,Deployment->Build Tools->Mavent 右侧配置如下图

maven有几个版本如何配置(maven的详细配置及使用)(11)

在左边Maven home diretory中选择maven的安装路径。

maven有几个版本如何配置(maven的详细配置及使用)(12)

到了这里,即可完成配置。

在escipse 中配置maven

1. 安装配置Maven:

1.1 从Apache网站 http://maven.apache.org/ 下载并且解压缩安装Apache Maven。

Maven下载地址: http://maven.apache.org/download.cgi

1.2 配置 Maven 的conf文件夹中配置文件settings.xml。 

2. Eclipse中Maven的配置:

1

2.1 打开Eclipse的首选项设置

maven有几个版本如何配置(maven的详细配置及使用)(13)

2.2 找到Maven的配置项目

maven有几个版本如何配置(maven的详细配置及使用)(14)

2.3 设置Maven的全局配置文件settings.xml

maven有几个版本如何配置(maven的详细配置及使用)(15)

说明:Eclipse会自动的使用 settings.xml 文件中包含镜像库的URL地址信息, 找到Maven镜像库位置.

2.4 更新配置信息

maven有几个版本如何配置(maven的详细配置及使用)(16)

2.5 找到Window菜单

maven有几个版本如何配置(maven的详细配置及使用)(17)

配置完成!

maven的使用方法

Maven 仓库理解

使用 Maven 给我们带来的最直接的帮助,可以使 jar 包得到了统一管理,那么这些 jar 包存放在哪里呢?它们就在您的 本地仓库 中,位于 /home/users/.m2 目录下(当然也可以修改这个默认地址)。

实际上可将本地仓库理解“缓存”,因为项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程*仓库(或 中央仓库)* 中下载 jar 包,并放入本地仓库中以备将来使用。这个远程仓库是 Maven 官方提供的,可通过 http://search.maven.org/ 来访问。这样一来,本地仓库会随着项目的积累越来越大。通过下面这张图可以清晰地表达项目、本地仓库、远程仓库之间的关系。

使用 Maven 命令

前面我们已经使用了几个 Maven 命令,例如:mvn archetype:generate,mvn tomcat7:run-war 等。其实,可使用两种不同的方式来执行 Maven 命令:

方式一:mvn <插件>:<目标> [参数]

方式二:mvn <阶段>

现在我们接触到的都是第一种方式,而第二种方式才是我们日常中使用最频繁的,例如:

  • mvn clean:清空输出目录(即 target 目录)

  • mvn compile:编译源代码

  • mvn package:生成构件包(一般为 jar 包或 war 包)

  • mvn install:将构件包安装到本地仓库

  • mvn deploy:将构件包部署到远程仓库

执行 Maven 命令需要注意的是:必须在 Maven 项目的根目录处执行,也就是当前目录下一定存在一个名为 pom.xml 的文件。

,