admin管理员组

文章数量:1598075

目录

一、Maven的来源

二、Maven的核心内容简述

1.配置文件pom.xml:

2.仓库(用来存储资源、包含各种jar包):

3.坐标(Maven中坐标用于描述仓库中资源的位置)

4.Maven的作用:

三、Maven的下载、安装与配置(windows版本)

1.下载与安装

2.配置Maven的环境变量

3.配置Maven的本地仓库(本地仓库就是用来存储jar包的一个文件夹)

4. 配置Maven的镜像远程仓库

四、Maven的常用命令

五、Maven常用远程仓库推荐


一、Maven的来源

Maven是一个包管理工具,在没有它之前,我们做一个Java项目,需要第三方jar包时,我们需有手动去网上下载下来,人后手动加到项目里;操作麻烦,如果人家版本更新了,或者我们的项目需要更新某个模块,导致之前加入的依赖包,又需要重新下载最新版本,重新加入到项目里。操作麻烦;因此当年的程序员大佬们开发了一款项目自动管理工具——Maven。

二、Maven的核心内容简述

        Maven是一款服务于Java平台的自动化构建工具。Maven 作为 Java 项目管理工具,它不仅可以用作jar包管理,还有许多的插件,可以支持整个项目的开发、打包、测试及部署等一系列行为。

  • Maven本质上是一个项目管理工具,他的理念是:将项目开发和管理的过程抽象成一个模型——项目对象模型(POM)

上图是Maven的工作流程图;图中的一些名词概念如下:

1.配置文件pom.xml:

  • pom.xml 是Maven工程中的核心配置文件,其地位相当于web项目中的web.xml配置文件,与项目构建过程相关的一切设置都在这个文件中进行配置。
  • Maven在工作时,就是通过pom.xml配置文件中所记录的项目的各种信息,并结合自身的各种插件,来达到对项目进行管理和更新。

2.仓库(用来存储资源、包含各种jar包):

  • 本地仓库:自己电脑上存储资源的仓库,同时连接远程仓库,可以从远程仓库上获取资源。

        远程仓库:又分为私服和中央仓库

  • 私服:一般是公司或部门架设在当前局域网下的仓库,介于本地与中央之间,为当前局域网范围内的所有Maven工程服务(为本地仓库提供jar包)。
  • 中央仓库:Maven公司团队所管理的服务器,架设在Internet上,为全世界的所有Maven工程服务,基本上存储着99%的jar包。

  • 中央仓库的镜像:架设在各个大洲,为中央仓库分担流量。减轻中央仓库的压力,更快响应用户请求。

3、坐标(Maven中坐标用于描述仓库中资源的位置)

(1)数学中的坐标(x,y,z)可以确定一个点的位置 

(2)Maven的坐标:使用下面三个量在仓库中可以唯一定位一个jar包

① groupid:当前Maven项目的域名反过来(包名);例:com.baidu

<groupid>com.baidu.maven_project</groupid>

② artifactid:Maven项目的名称

<artifactid>Hello</artifactid>

③ version:当前项目版本号;(1.0-SNAPSHOT表示项目还没上线的快照版)

<version>1.0-SNAPSHOT</version>

4.Maven的作用:

  • 项目构建:Maven为我们提供标准的、跨平台的自动化项目构建方式;

(之前我们创建项目,需要确定项目的目录结构,比如src 存放Java源码, resources存放配置文件,webContent放前端页面,还要配置环境比如JDK的版本等等,如果有多个项目 那么就需要每次自己搞一套配置,十分麻烦。Maven为我们提供了一个标准化的Java项目结构,我们可以通过Maven快速创建一个标准的Java项目.)

  • 依赖管理:通过Maven,可以方便快捷的项目依赖的资源(jar包),避免资源的版本冲突问题。
  • 统一开发结构:提供了一套标准的、统一的项目结构(自从用了Maven写Java项目,大家都按照它建议的项目结构来写)

三、Maven的下载、安装与配置(windows版本)

1.下载与安装

①首先去Maven官网:Maven – Download Apache Maven

②当前Maven最新版本为3.9.8,下载完后是一个压缩包;Maven是绿色软件,解压及安装;

注意:我们要找一个没有中文没有空格的路径下进行解压安装。例如我的是在D:\Program Files\Maven\apache-maven-3.9.8

③解压完的Maven目录如下:

  • bin文件夹:该文件中包含的是mvn的运行脚本,我们在命令行中使用mvn语言实际上就是在调用该文件夹中的脚本,比如mvn -v。这里面的脚本分为mvn和mvn.bat。前者是用在Unix系统,后者是用在windows系统上。
  • boot文件夹:该目录只包含一个文件:plexus-classworlds-XXX.jar。该jar文件是一个类加载器框架,相对于默认的Java类加载器,他提供了更丰富的语法以方便配置。Maven使用这个框架来加载自己的类库。

  • conf文件夹:这里面存放的是Maven的配置文件,其中有一个非常重要的文件是setting.xml,修改这个文件可以对Maven进行全局的修改。(后面会用到)

  •  lib文件夹:这里面包含了Maven本身运行时所需要的所有Java类库(jar包)。这里面算是真正的Maven代码,是Maven的核心部分。Maven本身是分模块开发的,所以用户可以看到诸如maven-core-3.1.jar、maven-model-3.1.jar之类的文件。另外,这个文件夹还含有一些Maven用到的第三方依赖。

2.配置Maven的环境变量

①在windows搜索框搜索环境变量 ——>打开编辑系统环境变量——>点击环境变量(N)——>点击新建(N)

        

新建一个MAVEN_HOME变量

 ⑥点击新建后;在输入框中输入%MAVEN_HOME%bin  ;表示将刚刚创建的MAVEN_HOME环境变量添加到系统Path下;一定注意前后加上“%”,结尾加上bin(指定到bin目录下)

⑦配置完上面的一切后;最后win+R打开命令窗口:输入mvn -v检查Maven是否安装且配置成功,若出现下图样子,恭喜你,成功安装上了Maven。

3.配置Maven的本地仓库(本地仓库就是用来存储jar包的一个文件夹)

①maven的本地仓库默认是在 C盘 .m2 目录下,但是将本地仓库放在C盘会占用c盘空间,所以这里要重新配置一下.

②打开maven的安装目录中,进入 conf文件夹, 找到 settings.xml 文件, 上文有提到过,这个文件是Maven的一个重要的配置文件,修改这个文件可以对Maven进行全局的修改。

③用你的一个可靠的IDE打开setting文件夹,例如VScode或IDEA,这里我用VScode打开的:

 <!-- 配置本地仓库 -->
<localRepository>D:\你自己指定的一个目录</localRepository>

 <localRepository>XXXXXX</localRepository>之间XXXXX表示你自己指定的本地仓库的路径(我是在D盘中创建了一个MVN_repository文件夹来当做我的本地仓库)

4. 配置Maven的镜像远程仓库

(若项目所需jar包在本地仓库中没找到,默认从远程仓库中下载)

①由于Maven默认的远程仓库隶属于国外,下载jar包非常的慢,因此我们通常都是用自己国内的镜像远程仓库;这里推荐首选阿里元的远程仓库:

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

②还是打开setting.xml文件,找到<mirrors>标签,将上述代码复制进去即可;如下图所示: 

(到此。恭喜你,Maven的下载与环境配置都已完成🐶)

四、Maven的常用命令

  • mvn clean:清理(会删除原来编译和测试的目录,即 target目录,但是已经 install到仓库里的包不会删除)
  • mvn compile:编译主程序 (会在当前目录下生成一个 target里边存放编译主程序之后生成的字节码文件)
  • mvn test-compile:编译测试程序(会在当前目录下生成一个 target,里边存放编译测试程序之后生成的字节码文件)
  • mvn test:执行测试(会生成一个目录 surefire- reports,保存测试结果)
  • mvn package:打包主程序(会编译、编译测试、测试、并且按照pom.xml配置把主程序打包生成jar包或者war包
  • mvn install:安装主程序(会把本工程打包,并且按照本工程的坐标保存到本地仓库中)
  • mvn deploy:部署主程序(会把本工程打包,按照本工程的坐标保存到本地库中,并且还会保存到私服仓库中。还会自动把项目部署到web容器中)

五、Maven常用远程仓库推荐

1.几个常用国外的中央仓库地址

1. http://www.sonatype/nexus/(一款强大的Maven仓库管理网站)
2. http://mvnrepository/ (一款常用的Maven仓库网站)
3. http://repo1.maven/maven2  (Maven官方中央仓库)

2. Maven 镜像仓库地址

①阿里中央仓库(首选推荐)

<repository>  
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun/nexus/content/groups/public/</url>
</repository> 

② camunda 中央仓库

<repository>  
    <id>activiti-repos2</id>  
    <name>Activiti Repository 2</name>  
    <url>https://app.camunda/nexus/content/groups/public</url>  
</repository> 

③spring.io 中央仓库

<repository>  
    <id>springsource-repos</id>  
    <name>SpringSource Repository</name>  
    <url>http://repo.spring.io/release/</url>  
</repository>

④maven.apache 中央仓库 

<repository>  
    <id>central-repos</id>  
    <name>Central Repository</name>  
    <url>http://repo.maven.apache/maven2</url>  
</repository>

#参考文章:

maven的下载与安装教程(超详细)_maven安装-CSDN博客

Maven是什么?有什么作用?Maven的核心内容简述_maven是干什么用-CSDN博客

Maven学习笔记:Maven源文件的目录结构_maven项目lib包在哪-CSDN博客

本文标签: 详解就够了maven