我正在scala中构建spark 2.3.4应用程序,并面临以下问题:java.lang.nosuchmethoderror基本调用bigquery api的.getdataset:
bigquery.getDataset("myDataset")
以及回溯:
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
at com.google.api.gax.retrying.BasicRetryingFuture.<init>(BasicRetryingFuture.java:77)
at com.google.api.gax.retrying.DirectRetryingExecutor.createFuture(DirectRetryingExecutor.java:73)
at com.google.cloud.RetryHelper.run(RetryHelper.java:73)
at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:51)
at com.google.cloud.bigquery.BigQueryImpl.getDataset(BigQueryImpl.java:260)
at com.google.cloud.bigquery.BigQueryImpl.getDataset(BigQueryImpl.java:251)
根据类似的问题,com.google.common.util.concurrent.moreexecutors.directexecutor()ljava/util/concurrent/executor的问题是guava库的版本。但这里有一个gradle构建的依赖树:
| | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre
| | | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | +--- com.google.guava:guava:12.0.1 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | +--- org.glassfish.jersey.bundles.repackaged:jersey-guava:2.22.2
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava-jdk5:17.0
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre
| | | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | +--- com.google.guava:guava:12.0.1 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | +--- org.glassfish.jersey.bundles.repackaged:jersey-guava:2.22.2
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava-jdk5:17.0
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre
| | | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | +--- com.google.guava:guava:12.0.1 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | +--- org.glassfish.jersey.bundles.repackaged:jersey-guava:2.22.2
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava-jdk5:17.0
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre
| | | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:16.0.1 -> 25.1-jre (*)
| | | | +--- com.google.guava:guava:12.0.1 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | | | +--- com.google.guava:guava:11.0.2 -> 25.1-jre (*)
| | | +--- org.glassfish.jersey.bundles.repackaged:jersey-guava:2.22.2
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava-jdk5:17.0
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | +--- com.google.guava:guava:20.0 -> 25.1-jre (*)
| | | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| | \--- com.google.guava:guava:19.0 -> 25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| | +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
| +--- com.google.guava:guava:25.1-jre (*)
那么,Guava25.1-jre正在使用中,这意味着bug版本的问题已经解决了?!我怎样才能进一步追查这个问题?
暂无答案!
目前还没有任何答案,快来回答吧!