Maven 简介
Maven 翻译成中文是『专家』的意思,它在 Ant 这个工具之后出现,必然是解决 Ant 存在的一些问题。在官网的 Introduction 有这样一句话。
We wanted a standard way to build the projects, a clear definition of what the project consisted of, an easy way to publish project information and a way to share JARs across several projects.
Maven 是简化打包和处理依赖关系的工具。
安装 Maven
通过Maven 官网下载链接,下载安装。本地需要安装了JDK 并且配置好环境变量。然后新建一个变量 M2_HOME,指向 Maven 的目录,在 Path 里面加上 %M2_HOME%\bin,配置完成。通过在命令行输入 mvn -v 如果出现了 Maven 的相关信息,就代表配置完成。如果出错,echo %path% 看一下 path 是否配置正确,echo %M2_HOME% 看看 Maven 的位置是否正确。
配置 Maven
一般来说, Maven 的默认配置已经够用。在这里简单介绍一下
- 配置本地仓库位置
你可以在 M2_HOME\conf 路径下的 settings.xml 文件中进行配置
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
将注释打开,然后配置本地绝对路径即可。
- 配置镜像
由于国内网络问题,会出现访问超时的现象。这时可通过配置代理解决。同样是在 settings.xml 文件,找到 mirrors 节点进行配置。在我本机上配置的镜像是
<mirror>
<id>ibiblio.org</id>
<name>ibiblio Mirror of http://repo1.maven.org/maven2/</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
<mirrorOf>central</mirrorOf>
<!-- United States, North Carolina -->
</mirror>
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
</mirrors>
你也可以去 google 一个镜像进行配置。
创建一个 Maven 项目
开发工具:IntelliJ IDEA
IntelliJ IDEA 提供了对 Maven 的良好支持,它内置了 Maven 的客户端和 Windows 的 Terminal,你可以通过图形化界面和命令行两种方式操作 Maven。
开发步骤
- File -> new project -> Maven 。
- GroupId 和 ArtifactId 随便填,后面会讲解这两个代表什么。
- 选择项目路径即可。
- 如果出现 Maven project need to be imported,选择 Enable Auto-Import 就行。
- 你可以进入到 pom.xml 文件中看一下,在我的机器上面是这样的。
<?xml version="1.0" encoding="UTF-8"?>
<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.puhui.maventest</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
下面是对这几个标签的简单解释。
project:pom 文件的根节点。
modelVersion:pom 文件使用的 object model 版本,这个东西一般不会发生变化。
groupId:该 project 开发者的组织名称,类似于 Java 中包名的概念,这个是 project 的标识之一。Maven-plug-ins 的 groupId 就是 org.apache.maven.plugins。
artifactId:project 通常的叫法。比如 junit 框架的 artifactId 就叫 junit。
version:project 的版本号,进行版本管理时可以使用。TODO->介绍SNAP-SHOOT。
- 可以通过 dependencies 来声明一系列的依赖关系,dependency 是它的子标签。下面声明的是 junit 框架,版本是 4.11。
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
</dependencies>
如果你的本地没有这个库,Maven 会联网下载,然后放到你的仓库文件夹中保存。在你的 Java 代码中就可以使用 junit 框架了。
上面声明的是公有的 jar,下面我们通过新建一个 Maven 项目将其打包,然后在该项目中进行依赖。
步骤:
1. 新建一个 Maven 项目。
2. 然后执行 mvn clean install 命令,将其打包。
3. 在该项目中对其进行引用
<dependency>
<groupId>com.puhui.maventest</groupId>
<artifactId>my_project</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
在本地代码仓库中可以找到 maventest 这个 jar 。说明打包成功,可以引用依赖。
总结: 上面简单了解了一下 Maven 的基础知识,上面的知识可以应对绝大多数的情况,后面还会介绍关于 Maven 命令的相关知识。