【发布时间】:2016-08-11 18:22:59
【问题描述】:
我正在使用一个 Maven 项目,其中我有 spring 框架依赖版本 3.2.3.RELEASE,我必须将此项目导入到许多其他项目中,但在其中一些项目中我使用的是 spring 4。
只有在使用我的项目具有相同或更新版本的 spring 以及没有使用我的项目的情况下,我如何才能排除此依赖项(spring 3)?
【问题讨论】:
我正在使用一个 Maven 项目,其中我有 spring 框架依赖版本 3.2.3.RELEASE,我必须将此项目导入到许多其他项目中,但在其中一些项目中我使用的是 spring 4。
只有在使用我的项目具有相同或更新版本的 spring 以及没有使用我的项目的情况下,我如何才能排除此依赖项(spring 3)?
【问题讨论】:
您可以做的一件事是手动排除不需要的依赖项:
<dependency>
<groupId>com.your.project</groupId>
<artifactId>project-name</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<artifactId>org.springframework</artifactId>
<groupId>spring-core</groupId>
</exclusion>
</exclusions>
</dependency>
但这可能会变得非常冗长。
如果您详细说明问题描述可能会有所帮助,因为我不清楚您到底要解决或实现什么。
例如,如果您在 1.0 版本中包含一个具有依赖项 B 的依赖项 A,然后您在 1.1 的 pom 中包含 B,则 Maven 将仅使用 1.1。我建议在这里阅读一下:https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Transitive_Dependencies
【讨论】: