Scala Google Ads API Java客户端库:Java.lang.NoSuchMethodError:com.Google.common.base.Premissions.checkNotNull

Scala Google Ads API Java客户端库:Java.lang.NoSuchMethodError:com.Google.common.base.Premissions.checkNotNull,scala,sbt,google-ads-api,Scala,Sbt,Google Ads Api,尝试使用访问Adwords API(取自project自述文件的代码片段): 此操作失败并出现错误: [info] Exception encountered when attempting to run a suite with class name: AdwordsClientSpec *** ABORTED *** [info] java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkNotNull(

尝试使用访问Adwords API(取自project自述文件的代码片段):

此操作失败并出现错误:

[info] Exception encountered when attempting to run a suite with class name: AdwordsClientSpec *** ABORTED ***
[info]   java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkNotNull(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
[info]   at com.google.api.ads.common.lib.auth.OfflineCredentials$Api.<init>(OfflineCredentials.java:89)
[info]   at com.google.api.ads.common.lib.auth.OfflineCredentials$Api.<clinit>(OfflineCredentials.java:81)
[info]   at AdwordsClient$.generateAdwordsCredential(AdwordsClient.scala:24)
[info]   at AdwordsClientSpec$$anonfun$1.apply$mcV$sp(AdwordsClientSpec.scala:23)
[info]   at AdwordsClientSpec$$anonfun$1.apply(AdwordsClientSpec.scala:18)
[info]   at AdwordsClientSpec$$anonfun$1.apply(AdwordsClientSpec.scala:18)
[info]   at org.scalatest.Transformer$$anonfun$apply$1.apply$mcV$sp(Transformer.scala:22)
[info]   at org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
[info]   at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
[info]   at org.scalatest.Transformer.apply(Transformer.scala:22)

正如@TzachZoha所指出的,存在与番石榴的版本冲突
com.google.api广告
使用番石榴16.0而不是番石榴20.0。我可以通过更改sbt构建定义来编译代码:

  ("com.google.api-ads" % "ads-lib" % "3.5.0").exclude(
    "com.google.guava", "guava"),
  "com.google.api-ads" % "adwords-axis" % "3.5.0",
  "com.google.guava" % "guava" % "20.0"

我可以通过从我的lib文件夹中删除googlecollections jar来解决这个问题,这个jar与其他jar一起出现;请参见

这看起来像是番石榴版本冲突-您的项目中是否有任何番石榴依赖项(直接或可传递)?(除了谷歌API库中使用的那个)。如果您不确定-请编辑此帖子以包含您所有的SBT依赖项。@TzachZohar感谢此提示,它是解决此问题的有用出发点。
 "com.google.api-ads" % "ads-lib" % "3.5.0",
 "com.google.api-ads" % "adwords-axis" % "3.5.0"
  ("com.google.api-ads" % "ads-lib" % "3.5.0").exclude(
    "com.google.guava", "guava"),
  "com.google.api-ads" % "adwords-axis" % "3.5.0",
  "com.google.guava" % "guava" % "20.0"