Exclusions
maven的依賴(dependencies)有傳遞性,為了解決兼容性問題,就用exclusions來排除造成兼容性問題的依賴。
寫法如下:
加入項目A依賴項目B,項目B依賴項目C,A中不想引用項目C,可以如下寫:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
...
<dependencies>
<dependency>
<groupId>sample.ProjectB</groupId>
<artifactId>Project-B</artifactId>
<version>1.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>sample.ProjectE</groupId> <!-- Exclude Project-C from Project-B -->
<artifactId>Project-C</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>
假如存在沖突,應該怎么確定呢,可以借用maven-project-info-reports-plugin插件
首先要在pom.xml中加上maven-project-info-reports-plugin插件
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId> maven-project-info-reports-plugin </artifactId> </plugin> </reporting>
然后再執行:mvn project-info-reports:dependencies 。生成項目依賴的報表,這樣你就能夠在報表中找出你版本沖突的相關性依賴了。
Plugins
address:
https://maven.apache.org/plugins/
常用的有tomcat插件。
