0、mvn [命令] 在pom.xml文件目录下执行 --------------------------
1、项目结构
2、加载依赖时会自动加载依赖的子依赖。
3、中国区用户可以使用阿里云提供的Maven镜像仓库。
4、search.maven.org查看依赖坐标信息(groupId、artifactId、version)
5、Maven通过解析依赖关系确定项目所需的jar包,常用的4种scope有:compile(默认),test,runtime和provided;
6、使用Maven构建项目就是执行lifecycle,执行到指定的phase为止。每个phase会执行自己默认的一个或多个goal。goal是最小任务单元。
执行每个phase,都是通过某个插件(plugin)来执行的,Maven本身其实并不知道如何执行compile,它只是负责找到对应的compiler插件,然后执行默认的compiler:compile这个goal来完成编译。所以,使用Maven,实际上就是配置好需要使用的插件,然后通过phase调用它们。
自定义插件往往需要一些配置,需要指定Java程序的入口。
Maven自带的标准插件例如compiler是无需声明的,只有引入其它的插件才需要声明。
7、Maven可以有效地管理多个模块,我们只需要把每个模块当作一个独立的Maven项目,它们有各自独立的pom.xml。
8、Maven Wrapper,它可以负责给这个特定的项目安装指定版本的Maven,而其他项目不受影响。
9、把自己的库发布到Maven的repo中
(1)上传静态文件
(2)通过Nexus发布到中央仓库
我们不能直接发布到Maven中央仓库,而是通过曲线救国的方式,发布到central.sonatype.org,它会定期自动同步到Maven的中央仓库。
没有私有Nexus服务器,还可以发布到GitHub Packages。GitHub Packages是GitHub提供的仓库服务,支持Maven、NPM、Docker等。
注意:GitHub的Package只能作为私有仓库使用



