maven学习-2 坐标和依赖

1.在项目根目录下运行 mvn clean compile
2.需要执行测试 mvn clean test
3.mvn clean package 打包
3. mvn clean install 把构件安装到本地仓库
4.为了生成可执行的jar文件,需要借助maven-shade-plugin


Maven的坐标元素包括groupId,artifactId,version(必选三个)
package,classifier(可选)
version:当前所处的版本
classifier:用来帮助定义输出的一些附属构件。java文档和源代码就是这两个附属构件的classifiere


5.依赖范围Scope
compile:编译依赖范围,默认
test:测试依赖范围
provided:已提供依赖范围,对于编译你和测试的classpath有效,但在运行时无效。典型的例子
是servlet-api,编译和测试项目的时候需要使用该依赖,但是在运行项目事,由于容器已经提供,
就不需要maven重复地引入依赖
runtime:运行范围内有效。JDBC驱动
system:系统依赖范围


6传递性依赖和依赖范围


7.依赖调节

1.路径最短原则

2.声明优先原则


8.可选依赖

便于互斥特性的传递


9.排除依赖&归类依赖&优化依赖

传递性依赖产生问题,eg:当前项目有一个第三方依赖,二这个第三方依赖由于某些原因依赖了另外一个类库的snapshot版本,那么它可能会影响当前项目,这时候就需要

排除这个依赖。

归类依赖:

例如:用property的值替换所有

优化依赖:mvn dependency:list 显示已解析依赖,同时,每个依赖的范围也得以明确表示

                    mvn dependency:tree 依赖树,通过这颗依赖书就能很清楚地看到某个依赖是通过那条路径传入的。

                    mvn dependency:analyze 




版权声明:本文为nancy_feng原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。