什么是Maven。隶属于Apache公司下的一个项目管理和自动化构建工具,基于项目对象模型的概念,即Project Object Model(简称pom),在Maven管理的Java工程中能够看到的pom.xml文件就是项目管理的指挥官,主要就是负责管理各类需要引入的jar包依赖。且Maven主要是为Java的项目构建、依赖管理和项目信息管理起到了巨大的作用,作为立志要在Java做番大事业的工程师怎么能不去了解Apache公司的Maven呢。

一、Maven初识

首先前往官网下载Maven,需要注意的是需要提前在本机提前安装好Java环境。

同样需要设置环境变量:

设置一个M2_HOME,值为Maven安装好之后的主目录。随后在Path变量中,将M2_HOME引入并跟上bin目录,如下图:

idea总是指向maven私服 idea使用自带的maven_idea总是指向maven私服


检验配置是否生效,打开cmd命令窗口,输入mvn -v,若返回以下信息则说明Maven配置成功。

idea总是指向maven私服 idea使用自带的maven_Java_02

二、Maven默认配置的修改

找到Maven安装目录下的conf目录,其中有一个settings.xml文件,用记事本打开。
我们需要关注以下两个节点:

  • mirror
  • localRepository

mirror节点表示下载依赖所使用的仓库地址,若不配置则使用默认地址,在国内的网络环境下网速很难令人满意,所以建议将mirror节点加上,这里我使用了阿里的镜像地址:

<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
</mirror>

localRepository节点表示下载到本地的仓库地址,若不指定的话会统一下载到C盘的.m2目录下,时间一久会非常占存储,所以强烈建议修改该节点,例如我在D盘新建一个mvn-repository目录,将这个目录作为本地库目录:

<localRepository>D:\mvn-repository</localRepository>

三、配合IDEA加入Maven

首先打开IDEA中的setting,找到Maven的设置窗口:

idea总是指向maven私服 idea使用自带的maven_spring_03


注意这里默认使用的是IDEA自带的Maven,所以之前我们本地Maven配置得再好,这里不引入还是不会生效,还是会将C盘作为仓库目录导致占用大量的存储。这里我们首先将Maven的目录选择为本地安装的Maven目录,后面两项需要在后面勾选上Override之后才能支持修改,同样修改为我们刚刚配置的setting.xml文件,指定一下新的仓库目录。设置好之后点击Apply,OK之后,如果你之前的项目已经都下好了依赖,这个时候就会重新开始下载依赖包,因为新设置的仓库里没有下载。而老仓库目录下的依赖包则可以进行删除。

四、pom文件解析

在我们的Maven项目中,pom.xml文件是必不可少的,这就像一本电话地址簿一样,根据这个文件里面的信息可以逐一找到对应的包信息。
第一部分的内容属于项目的描述信息:

<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.cmower</groupId>
  <artifactId>test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>test</name>
</project>

第二部分可以写一些变量,定义完变量之后可以在后续的文本中使用${axis2.version}来引入:

<properties>
    <spring.version>5.1.5.RELEASE</spring.version>
</properties>

第三部分是pom文件的重点,其中就会写入关于依赖包的相关信息:

<dependencies>
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>3.8.1</version>
		<scope>test</scope>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</artifactId>
		<version>${spring.version}</version>
		<exclusions>
			<exclusion>
				<groupId>commons-logging</groupId>
				<artifactId>commons-logging</artifactId>
			</exclusion>
		</exclusions>
	</dependency>
	<dependency>
		<groupId>commons-logging</groupId>
		<artifactId>commons-logging</artifactId>
		<version>1.1.1</version>
	</dependency>
</dependencies>

通过groupId、artifactId以及version这三个节点就能确定所要依赖的jar包,那么我们该如何正确地找到对应的groupId以及artifactId呢,这个时候就要借助MavenRepository 网站来查找,访问地址为:https://mvnrepository.com/

idea总是指向maven私服 idea使用自带的maven_Java_04


在网页上方的搜索框里输入关键字就能够查找到对应的依赖,例如,我想找关于lombok的相关依赖,则可以直接在搜索框输入lombok,接下来在筛选结果中选择符合一项,一般是第一项,并进行选择版本号信息之后就能够直接呈现可复制结果:

idea总是指向maven私服 idea使用自带的maven_maven_05

五、总结

以上就是关于Maven的初始以及基本使用,希望能够在工作中为大家提供必要的帮助。

参考资料:

  • Maven的安装与配置(配置本地仓库路径)
  • 你竟然没用 Maven 构建项目?