题言:
经过一个晚上的学习,对maven有了大致的的了解!为了保持可玩性,还是写篇博客来记录下,表示我玩过O(∩_∩)O哈哈~。
****************************************************
maven核心技术:
Maven 仓库概念
Maven 远程仓库配置文件:
$M2_HOME/lib/maven-model-builder-3.3.3.jar
文件:org\apache\maven\model\pom-4.0.0.xml
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
Maven仓库(repositories)是通过结构来定义的,一个Maven仓库是项目构件的一个集合,这些构件存储在一个目录结构下面,它们的格式能很容易的被Maven所理解。在一个Maven仓库中,所有的东西存储在一个与Maven项目坐标十分匹配的目录结构中。
你可以打开浏览器,然后浏览中央Maven仓库
http://repo1.maven.org/maven2/ 来看这样的结构。你会看到坐标为
org.apache.commons:commons-email:1.1的构件能在目录
/org/apache/commons/commons-email/1.1/下找到,文件名为
commons-email-1.1.jar。
Maven仓库的标准是按照下面的目录格式来存储构件,相对于仓库的根目录:/<groupId>/<artifactId>/<version>/<artifactId>-<version>.<packaging>
运行mvn install 命令 ,maven会把我们项目的构建下载到本地库。(
mvn install 插件需要在一个项目下运行)
--------------------------------------------------------------------------------------
Maven 依赖特性
Maven 聚合与继承特性
对于聚合模块来说,它知道有哪些被聚合的模块,而对于被聚合的模块来说,它们不知道被谁聚合了,也不知道它的存在
对于继承关系的父POM来说,它不知道自己被哪些子模块继承了,对于子POM来说,它必须知道自己的父POM是谁
在一些最佳实践中我们会发现:一个POM既是聚合POM,又是父POM,这么做主要是为了方便。
最后一个就是maven构建web项目,说实话没有认真听,现在有点迷糊糊!暂且这样!