1.jar包版本冲突处理,使用<exclusions>标签不引入指定的jar依赖,或者在源jar配置加<optional>为true表示不传递依赖
<dependency> <groupId>net.firstelite.smartCampus</groupId> <artifactId>smartcampus-commons</artifactId> <version>1.0-SNAPSHOT</version> <exclusions> <exclusion> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> </exclusion> </exclusions> </dependency>
或者
<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> <version>1.3.5.RELEASE</version> <optional>true</optional> </dependency>
2.jar管理
使用<dependencyManagement>标签在父pom统一管理jar及版本,子pom引用只引能用到的,不需要引版本
父pom:
<dependencyManagement> <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.8</version> </dependency>
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.9.9</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> <version>2.0.4.RELEASE</version> </dependency> <dependency> <groupId>net.firstelite.smartCampus</groupId> <artifactId>smartcampus-commons</artifactId> <version>1.0-SNAPSHOT</version> <exclusions> <exclusion> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> </exclusion> </exclusions> </dependency> </dependencies> </dependencyManagement>
子pom:
<dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <scope>compile</scope> </dependency> </dependencies>