【问题标题】:Maven Dependency Issues with spring security librarySpring 安全库的 Maven 依赖问题
【发布时间】:2014-04-17 10:39:39
【问题描述】:
我确实对 Maven 中的依赖性有疑问。
在项目 A 中,我对版本 3 具有 spring-security 依赖项。需要版本 3,因为该项目正在使用版本 3 库的类。
在项目 B 中,我的 spring-security 依赖于版本 4。需要版本 4,因为该项目使用的是版本 4 库的类。
现在我想将项目 B 的一些类用到项目 A 中。
当我将项目 B 的依赖项添加到项目 A 的 pom.xml 中时。项目构建成功,但在部署服务器上因 spring-security 库冲突引发异常。
过去有人遇到过同样的问题吗?
【问题讨论】:
标签:
maven
spring-security
dependency-management
【解决方案1】:
在项目 A 中定义依赖项时,应排除不想从项目 B 导入的任何库,例如:
<dependency>
<groupId>com.myproject</groupId>
<artifactId>projectB</artifactId>
<version>1.0.0.SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
</exclusion>
...
</exclusions>
</dependency>
您可以通过运行 commadn "mvn dependency:tree" 查看所有库作为传递依赖项从您的项目 B 中导入的内容,并根据它填充您的排除项。