java - Maven 依赖冲突

标签 java maven dependencies project-management pom.xml

由一些模块组成的maven项目。我的模块之一正在使用谷歌版本的 Guava 依赖项 11.0.2 .现在我正在我的项目中集成另一个模块,它也使用 Guava 但版本 14 .

所以我希望新模块使用 guava 版本 14但其余项目使用 Guava 版本11.0.2 .我试过添加 <exclusion></exclusion> Guava 到新模块,但它没有工作。

解决此问题的任何提示。

更新:@Guillaume Darmont 的回答解决了不同模块的问题。但现在我的问题是,新模块有 2 个依赖项,其中一个正在使用 guava 11.0.2和其他人正在使用 14.0 .如何管理这个。我们可以在模块的pom中单独指定它应该使用哪个版本的 Guava 吗?

最佳答案

据我了解你的问题,你可以添加 <dependencyManagement>对于 guava在你的新模块 pom.xml 中:

<dependencyManagement>
  <dependencies>
      <dependency>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
          <version>14.0.1</version>
      </dependency>
  </dependencies>
</dependencyManagement>

关于java - Maven 依赖冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17335255/

相关文章:

java - 使用 Spring 5 下载 PDF 文件时出错

android - Gradle 3,如何使库对 Android Studio 3 中的其他模块可见?

安卓工作室 3.6.1 |错误 : "This project uses AndroidX dependencies"

java - Spring中的Bean依赖注入(inject)

java - Maven - 为什么我不能覆盖 dependencyManagement 导入的 pom 的版本?

java - 如何在 WEB-INF 文件夹中使用带有 JAR 的 taglibs JSTL/core

java - 循环遍历 MongoDB 中的文档

Java:通过调用方法打印三角形和空格

java - Android根据标签获取 View ID

java - 错误 : No functional channel service provider found. 尝试添加对 grpc-okhttp 或 grpc-netty Artifact 的依赖