目录结构和内容
bin/
包含了mvn运行的脚本,用来配置Java命令,准备好classpath和相关的Java系统属性,然后执行Java命令
mvn --基于UNIX平台的shell脚本
mvn.cmd --基于Windows平台的bat脚本
命令行中输入任何一条mvn命令时就是在调用这些脚本
mvnDebug --基于UNIX平台的shell脚本
mvnDebug.cmd --基于Windows平台的bat脚本
mvn和mvnDebug区别在于mvnDebug多了一条MAVEN_DEBUG_OPTS配置,作用就是在运行Maven时开启debug,以便调试Maven自身
m2.conf --classworlds的配置文件
boot/
仅包含一个文件,plexus-classworlds-2.5.2.jar(以maven-3.3.9为例),这是一个类加载器框架,Maven使用这个框架加载自己的类库
conf/
包含一个重要文件settings.xml,直接修改该文件可以在本机上全局定制Maven行为。一般更偏向于把该文件复制至~/.m2/目录下,即在用户范围定制Maven行为,比如:
<localRepository>C:/Repository/m2repo</localRepository>
<server>
<id>releases</id>
<username>xxx</username>
<password>xxx</password>
<configuration>
<email>xxx</email>
</configuration>
</server>
<mirror>
<id>nexus</id>
<url>xxx</url>
<mirrorOf>*</mirrorOf>
</mirror>
lib/
包含了所有Maven运行时需要的Java类库。Maven是分模块开发的,在Maven3就可以看得出来,而Maven2时该文件只包含一个jar文件(用到的类库被拆解重新组合合并而成)。
可以说,这个目录是真正的Maven。我们可以在这个目录里找到Maven内置的超级POM(学习到了再继续补充)
NOTICE
记录Maven包含的第三方软件
README
Maven安装需求和简要指令
注:《Maven实战》学习笔记