Gradle 传递依赖排除未按预期工作.(我如何摆脱 com.google.guava:guava-jdk5:13.0

2023-05-04Java开发问题
3

本文介绍了Gradle 传递依赖排除未按预期工作.(我如何摆脱 com.google.guava:guava-jdk5:13.0 ?)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

这是我的 build.gradle 的片段:

here is a snippet of my build.gradle:

compile 'com.google.api-client:google-api-client:1.19.0'
compile 'com.google.apis:google-api-services-oauth2:v2-rev77-1.19.0'
compile 'com.google.apis:google-api-services-plus:v1-rev155-1.19.0'
compile 'com.google.appengine.tools:appengine-gcs-client:0.4.1'
compile 'com.google.appengine.tools:appengine-mapreduce:0.8'

它导入多个版本的番石榴,如您在dependencyInsight中看到的那样:

which imports multiple version of guava as you can see with dependencyInsight:

com.google.guava:guava:15.0 (conflict resolution)

com.google.guava:guava:14.0.1 -> 15.0
+--- com.googlecode.objectify:objectify:4.1.3
|    --- default
--- net.eusashead.spring:spring-cache-gae:1.0.0.RELEASE
     --- default

com.google.guava:guava:[15.0,15.99] -> 15.0
+--- com.google.appengine.tools:appengine-gcs-client:0.4.1
|    +--- default
|    +--- com.google.appengine.tools:appengine-mapreduce:0.8
|    |    --- default
|    --- com.google.appengine.tools:appengine-pipeline:0.2.10
|         --- com.google.appengine.tools:appengine-mapreduce:0.8 (*)
+--- com.google.appengine.tools:appengine-mapreduce:0.8 (*)
--- com.google.appengine.tools:appengine-pipeline:0.2.10 (*)

com.google.guava:guava-jdk5:13.0
--- com.google.api-client:google-api-client:1.19.0
     +--- default
     +--- com.google.apis:google-api-services-oauth2:v2-rev77-1.19.0
     |    --- default
     +--- com.google.apis:google-api-services-plus:v1-rev155-1.19.0
     |    --- default
     +--- com.google.appengine.tools:appengine-gcs-client:0.4.1
     |    +--- default
     |    +--- com.google.appengine.tools:appengine-mapreduce:0.8
     |    |    --- default
     |    --- com.google.appengine.tools:appengine-pipeline:0.2.10
     |         --- com.google.appengine.tools:appengine-mapreduce:0.8 (*)
     +--- com.google.api-client:google-api-client-appengine:1.17.0-rc
     |    --- com.google.appengine.tools:appengine-gcs-client:0.4.1 (*)
     +--- com.google.apis:google-api-services-storage:v1-rev1-1.18.0-rc
     |    --- com.google.appengine.tools:appengine-gcs-client:0.4.1 (*)
     +--- com.google.apis:google-api-services-bigquery:v2-rev154-1.19.0
     |    --- com.google.appengine.tools:appengine-mapreduce:0.8 (*)
     --- com.google.api-client:google-api-client-servlet:1.17.0-rc
          --- com.google.api-client:google-api-client-appengine:1.17.0-rc (*)

(*) - dependencies omitted (listed previously)

我已尝试通过以下方式删除对 : 的依赖:

I have tried removing the dependency to : by doing:

compile ('com.google.api-client:google-api-client:1.19.0'){
        exclude group: 'com.google.guava', module: 'guava-jdk5'
    }
compile ('com.google.api-client:google-api-client:1.19.0'){
        exclude group: 'com.google.guava', 
    }

但dependencyInsight 保持不变.我也试过了

but the dependencyInsight remains the same. I also tried

compile ('com.google.guava:guava:15.0'){force = true}

但依赖性洞察力仍然保持不变.如何摆脱 com.google.guava:guava-jdk5:13.0 ?

but again dependency insight remains the same. How do I get rid of com.google.guava:guava-jdk5:13.0 ?

详情:我在 Windows 8.1 机器上尝试过 gradle 1.2 和 2.1

Details: I've tried gradle 1.2 and 2.1 on a windows 8.1 box

我尝试这个的原因是为了摆脱这个异常:

The reason for me to try this is to get rid of this exception:

java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.createStarted()Lcom/google/common/base/Stopwatch;

推荐答案

原来guava-jdk5还在维护中.

It turns out that guava-jdk5 is still being maintained.

所以我改变了这个:

compile ('com.google.guava:guava:15.0'){force = true}

为此:

compile('com.google.guava:guava-jdk5:17.0') { force = true }

这解决了我的问题,我现在可以使用 Google App Engine 项目中com.google.common"包中的类以及所有描述的依赖项

And that fixed my issues, I can now use classes from the 'com.google.common' package in Google App Engine project with all the described dependencies

这篇关于Gradle 传递依赖排除未按预期工作.(我如何摆脱 com.google.guava:guava-jdk5:13.0 ?)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

如何使用 JAVA 向 COM PORT 发送数据?
How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)...
2024-08-25 Java开发问题
21

如何使报表页面方向更改为“rtl"?
How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)...
2024-08-25 Java开发问题
19

在 Eclipse 项目中使用西里尔文 .properties 文件
Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)...
2024-08-25 Java开发问题
18

有没有办法在 Java 中检测 RTL 语言?
Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)...
2024-08-25 Java开发问题
11

如何在 Java 中从 DB 加载资源包消息?
How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)...
2024-08-25 Java开发问题
13

如何更改 Java 中的默认语言环境设置以使其保持一致?
How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)...
2024-08-25 Java开发问题
13