下载与安装

官网地址:https://maven.apache.org/
image.png
可以在官网下载
GitHub:https://github.com/apache/maven
image.png
也可以在git上面下载源码编译
... ...
所以我选择yum
image.png

安装目录分析

rpm -ql和mvn -v得到安装目录地址后查看
image.png

  • bin
  • boot
  • conf
  • lib

bin

bin:该目录包含了mvn运行的脚本,这些脚本用来配置Java命令,准备好classpath和相关的Java系统属性,然后执行Java命令。

  • mvn
    mvn是基于UNIX平台的shell脚本,mvn.bat是基于Windows平台的bat脚本。在命令行输入任何一条mvn命令时,实际上就是在调用这些脚本
    image.png
  • mvnDebug
    mvnDebug和mvnDebug.bat,同样,前者是UNIX平台的shell脚本,后者是Windows平台的bat脚本。
    mvn和mvnDebug两者基本是一样的,只是mvnDebug多了一条MAVEN_DEBUG_OPTS配置,其作用就是在运行Maven时开启debug,以便调试Maven本身。
    image.png
  • mvnyjp
    分析maven构建过程的shell脚本
  • m2.conf
    maven的classworlds的配置文件

boot

该目录只包含一个文件plexus-classworlds.jar

  • plexus-classworlds.jar
    plexus-classworlds是一个类加载器框架,相对于默认的java类加载器,它提供了更丰富的语法以方便配置,Maven使用该框架加载自己的类库
    image.png
    上图是maven源码里面导入的plexus-classworlds

conf

  • settings.xml
    该目录包含了一个非常重要的文件settings.xml。直接修改该文件,就能在机器上全局地定制Maven的行为。一般情况下,更偏向于复制该文件至~/.m2/目录下(~表示用户目录),然后修改该文件,在用户范围定制Maven的行为。

lib

该目录包含了所有Maven运行时需要的Java类库

  • lib目录就是真正的Maven
  • 有Maven内置的超级POM

这个家伙很懒,啥也没有留下😋