【注】:转载至大佬智哥文档,仅做学习,略有删添
【依赖传递】
A ---》(B ---》C)
A --- C
A---》C a会间接的依赖c 依赖传递
(1)排除依赖
在依赖B的同时,排除对C的依赖传递
<exclusions>
<exclusion>
坐标信息
</exclusion>
</exclusions>
(2)中断依赖
<optional>设置依赖是否可传递true/false
可以解除依赖传递关系,让A只依赖B,当有x依赖A时,如果A的optional是false,亦可中断x对B、C的依赖传递即x只依赖A
【依赖冲突】
在依赖传递的基础上,B依赖Y2.0,C依赖Y3.0,则A通过依赖传递会依赖Y?
1、 短路优先:在依赖传递的基础上,路径短的优先依赖
2、 先声明先依赖:依赖路径等长情况下,先声明先依赖
【依赖的继承】
*父pom的packaging值修改为pom
<dependenciesManagement>
<dependencies>
这里的依赖,不会在该项目中生效,只做继承使用
</dependencies>
</dependenciesManagement>
在子项目中使用
<parent> 你要继承的依赖坐标 </parent>
<dependencies>中只定义groupId和artifactId即可
【项目聚合】
应用场景,批量打包和安装项目
步骤:新建项目作为聚合【容器】,修改pom.xml <packaging>标签值为pom
使用<modules>标签引入要聚合的项目”../项目名”
【2】Maven构建Web项目
创建webApp,Maven项目,补全标准的maven目录结构(复习目录结构)坐标搜索,引入servlet-api.jar
引入tomcat插件坐标,maven web项目默认将打成war包和在tomcat上运行
【管理插件】
<build>
<plugins>
<plugin>
<groupId>
<artifactId>
<version>
<!-- 中断依赖 并设置在项目打包阶段执行该插件的run-->
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<plugin>
</plugins>
</build>
tomcat:插件网址:http://tomcat.apache.org/maven-plugin-2.2/
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</pluginManagement>
运行指令:tomcat:run
停止指令:tomcat:stop 或 tomcat:shutdown 或 (都不好使)点击控制台红色按钮结束
jetty服务器