Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在scala项目中使用最新版本的google cloud bigquery库时出现NoSuchMethodException_Java_Scala_Sbt_Google Cloud Platform_Google Bigquery - Fatal编程技术网

Java 在scala项目中使用最新版本的google cloud bigquery库时出现NoSuchMethodException

Java 在scala项目中使用最新版本的google cloud bigquery库时出现NoSuchMethodException,java,scala,sbt,google-cloud-platform,google-bigquery,Java,Scala,Sbt,Google Cloud Platform,Google Bigquery,在更新代码以使用最新版本的googlecloudstorage和googlecloudbigquery库(1.25.0版)之后,我们现在抛出了一个NoSuchMethodError 线程“main”java.lang.NoSuchMethodError中的异常:com.google.api.services.bigquery.model.JobReference.setLocation(Ljava/lang/String;)Lcom/google/api/services/bigquery/mo

在更新代码以使用最新版本的
googlecloudstorage
googlecloudbigquery
库(1.25.0版)之后,我们现在抛出了一个NoSuchMethodError

线程“main”java.lang.NoSuchMethodError中的异常:com.google.api.services.bigquery.model.JobReference.setLocation(Ljava/lang/String;)Lcom/google/api/services/bigquery/model/JobReference

在做了一些研究之后,这似乎是guava库的一个依赖性问题。然而,遵循其他地方发布的建议(覆盖guava依赖项)并没有解决这个问题,尝试了几个guava版本

看着依赖关系树,在我看来,guava依赖关系出现的唯一地方是google云库。有时它需要版本20.0和其他版本19.0。我附上了这棵树的一段摘录,这使我得出了这个结论

├─ com.google.cloud:google-cloud-bigquery:1.25.0
│  ├─ com.google.auto.value:auto-value:1.4
│  ├─ com.google.cloud:google-cloud-core:1.25.0
│  │  ├─ com.google.api:api-common:1.5.0
│  │  │  ├─ com.google.code.findbugs:jsr305:3.0.0 -> 3.0.1
│  │  │  └─ com.google.guava:guava:19.0 -> 20.0
│  │  ├─ com.google.api:gax:1.23.0
│  │  │  ├─ com.google.api:api-common:1.5.0
│  │  │  │  ├─ com.google.code.findbugs:jsr305:3.0.0 -> 3.0.1
│  │  │  │  └─ com.google.guava:guava:19.0 -> 20.0
│  │  │  ├─ com.google.auth:google-auth-library-oauth2-http:0.9.0
│  │  │  │  ├─ com.google.auth:google-auth-library-credentials:0.9.0
│  │  │  │  ├─ com.google.guava:guava:19.0 -> 20.0
│  │  │  │  ├─ com.google.http-client:google-http-client:1.19.0 -> 1.23.0
│  │  │  │  │  ├─ com.google.code.findbugs:jsr305:1.3.9 -> 3.0.1
│  │  │  │  │  └─ org.apache.httpcomponents:httpclient:4.0.1 -> 4.3.6
│  │  │  │  │     ├─ commons-codec:commons-codec:1.6 -> 1.10
│  │  │  │  │     ├─ commons-logging:commons-logging:1.1.3
│  │  │  │  │     └─ org.apache.httpcomponents:httpcore:4.3.3
│  │  │  │  └─ com.google.http-client:google-http-client-jackson2:1.19.0 -> 1.23.0
│  │  │  │     ├─ com.fasterxml.jackson.core:jackson-core:2.1.3 -> 2.9.4
│  │  │  │     └─ com.google.http-client:google-http-client:1.23.0
│  │  │  │        ├─ com.google.code.findbugs:jsr305:1.3.9 -> 3.0.1
│  │  │  │        └─ org.apache.httpcomponents:httpclient:4.0.1 -> 4.3.6
│  │  │  │           ├─ commons-codec:commons-codec:1.6 -> 1.10
│  │  │  │           ├─ commons-logging:commons-logging:1.1.3
│  │  │  │           └─ org.apache.httpcomponents:httpcore:4.3.3
│  │  │  ├─ com.google.code.findbugs:jsr305:3.0.0 -> 3.0.1
│  │  │  ├─ com.google.guava:guava:20.0
│  │  │  └─ org.threeten:threetenbp:1.3.3

有人能提供一些建议吗?我无法想象我们是唯一遇到这个问题的人

在我的例子中,解决方案是删除一些旧的依赖项:

<dependency>
 <groupId>com.google.cloud</groupId>
 <artifactId>google-cloud-bigquery</artifactId>
 <version>0.11.0-beta</version>
</dependency>

com.google.cloud
谷歌云大查询
0.11.0-beta
我发现它可能有用。Quote:“查看堆栈跟踪…如果在库中的对象上调用方法时出现异常,则在编译和运行时很可能使用库的不同版本。请确保在两个位置都有正确的版本。”