本文中用到的版本为apache-maven-3.3.9,下载地址为http://maven.apache.org/download.cgi。
apache-maven-3.3.9的目录结构如下:
bin
boot
conf
lib
LICENSE
NOTICE
README.txt
bin:该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath和相关的java系统属性,然后执行java命令。其中mvn是基于Unix平台的shell脚本,mvn.cmd是基于Windows平台的脚本。在命令行输入任何一条mvn命令时,也就是在调用这些脚本。该目录中还包括了mvnDebug和mvnDebug.cmd两个文件。打开mvn和mvnDebug两个文件,可以发现mvnDebug中配置了MAVEN_DEBUG_OPTS,其作用就是在运行Maven时开启debug,以便调试Maven本身。目录中还包含了m2.conf文件,这是classworlds的配置文件。
boot:该目录中只包含了一个文件,即plexus-classworlds-2.5.2.jar。plexus-classworlds是一个类加载器框架,Maven使用该框架加载自己的类库。
conf:该目录中包含了一个文件settings.xml。直接修改该文件,可以在机器上全局的定制Maven的行为。
lib:该目录包含了Maven运行时所需的java类库,比如maven-core-3.0.jar、maven-model-3.0.jar等文件。还包含了一些Maven用到的第三方依赖,如common-cli-1.2.jar、google-collection-1.0.jar等。此目录还可以找到Maven内置的超级POM。
LICENSE:记录了Maven使用的软件许可证Apache License Version 2.0。
NOTICE:记录了Maven包含的第三方软件
README.txt:包含了Maven的简要介绍,包括安装需求及如何安装的简要指令等。