1. mvn是maven的基础命令
2. maven项目中conf目录下的.setting文件中第一个描述localRepository的位置是指切换本地默认仓库路径。
3. maven的默认中心仓库地址存在于lib/maven-model-builder-3.2.1.jar/org\apache\maven\model/pom-4.0.0.xml文件中。默认为http://repo.maven.apache.org/maven2
4. maven->dependecy->scope
test->测试过程中依赖,并且依赖不会传递-》指当其他项目依赖本项目的时候,本项目中标记scope的依赖不会传递给其他项目。
compile->编译过程依赖,并且会打包到war,默认依赖
provide->编译和测试过程依赖,但是不会打包到war,适合所依赖的服务器已存在的jar包
runtime->运行时依赖,适用于ojdbc包之类。
间接依赖不会自动判断依赖的版本优先级,而是通过谁在前面被依赖,就选择此依赖作为依赖。当依赖级别相同,优先使用前面的,当依赖级别不同,优先使用最短的依赖
5. maven-dependecy-exclusions->exclusioion可以排除依赖,取消掉依赖的传递
6. maven的聚合maven-modules-module可以执行其他的pom.xml,为聚合aggration提供了方便
7. maven的继承maven-parent-<groupId><artifactId><version><relativePath> 这样,可以吧一些公用的信息或者常量写入parent的POM中,然后继承自此POM。
8. maven的parent的POM中可以在dependencyManagement中指定dependecy,然后在子POM中就可以省略版本号和scope了。所有都会从parent中继承而来
9. 配置中,聚合是模块的位置,继承是POM文件的位置
10 mvn常用命令:mvn:compile, mvn:test, mvn:clean, mvn:install, mvn:package, mvn:deploy
11. nexus:
3rd party:hosted 自己上传的第三方jar包,不存在maven远程仓库中
Central:proxy 代理下载的远程仓库中的jar包,局域网下载jar包会先向nexus服务器申请,如果没有,则nexus自己下载一份,然后将自己的传输给申请者
Releases:hosted 已发布的版本
snapshots:hosted 快照版本,可以在各个客户端实时更新
12. maven 配置局域网中央工厂
Pom.xml->repositories->repository(*)->url
13. maven的plugin是写在build元素节点中,build->plugins-plugin-executions-execution-phase指的是在什么之后执行
goals-goal指的是执行什么
14. 如果在parent中写插件,需要写在build-pluginManagement中,然后子POM调用即可