在项目开发中遇到包冲突,总结一下解决过程。
A,B,C三个项目是P1项目的子工程,A项目同时依赖B,C两个项目,P1项目统一管理依赖P2项目
P1 pom.xml
<dependencyManagement> <dependencies> <dependency> <groupId>com.test</groupId> <artifactId>P2</artifactId> <version>${P2.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependencies> <dependencyManagement>
P2项目的子项目D,E,F 。D项目中自己依赖了 poi-ooxml 4.1.0 ,D项目的传递依赖中引用了E项目的poi-ooxml 3.13,导致包冲突。百度了一下说是在D项目引用E项目时加上
<dependency> <groupId>com.test</groupId> <artifactId>E</artifactId> <scope>test</scope> <exclusions> <exclusion> <artifactId>poi-ooxml</artifactId> <groupId>org.apache.poi</groupId> </exclusion> </exclusions> </dependency>
跑了一下还是jar包冲突。
在P1项目的pom中增加
<dependencyManagement> <dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.0</version> </dependency> <dependencies> <dependencyManagement>
A项目的pom中增加
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> </dependency>
冲突解决!