【问题标题】:Cloud Vision API quickstart code not working: java.lang.NoSuchMethodErrorCloud Vision API 快速入门代码不起作用:java.lang.NoSuchMethodError
【发布时间】:2020-06-18 13:47:10
【问题描述】:

我正在尝试运行代码here。但是它返回一个java.lang.NoSuchMethodError: io.grpc.ManagedChannelBuilder.disableServiceConfigLookUp()Lio/grpc/ManagedChannelBuilder; 我已经确定该错误是由try (ImageAnnotatorClient vision = ImageAnnotatorClient.create()) 行引起的。

我在网上查看过,但除了可能是版本控制问题之外,我无法找到任何关于此的信息。但是,我使用的是快速入门指南中所述的依赖项,所以我不确定如何解决这个问题。

【问题讨论】:

  • 您设置了 GOOGLE_APPLICATION_CREDENTIALS 吗?

标签: java google-cloud-platform java-8 google-cloud-vision


【解决方案1】:

NoSuchMethodError’是由 maven 依赖冲突引起的通用非 Google Java 运行时错误。如错误中所述,这具体是关于“io.grpc”库的 Java 依赖冲突。

Maven documentation 中所述,您可以使用以下命令查看您的本地环境中安装了哪个版本的“io.grpc”依赖项导致问题:

mvn dependency:tree -Dverbose -Dincludes=io.grpc 

在运行上一个命令后确定冲突的 Java 依赖项后,您可以尝试通过执行以下通用步骤来解决冲突:

  1. 尝试全新安装 maven:mvn clean install 并执行文件。
  2. 您可以将所有版本更新到最新版本:mvn versions:use-latest-releases 并执行该文件。
  3. 遵循此similar Stack Overflow post 中提到的其他建议,该建议解决了“NoSuchMethodError”问题。

作为一种解决方法,我在Google Cloud Shell 中测试了快速入门代码,它运行完美(因为预装了 Cloud Shell 最新的软件包和reset upon closing)。因此对于 测试目的,您可以改为运行 Cloud Shell 中的代码 在您的本地环境中。

【讨论】:

    猜你喜欢
    • 2018-11-15
    • 2021-06-06
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多