java - 谷歌分析异常

标签 java json google-analytics guava

我正在尝试使用 java api 实现谷歌分析。但我遇到了这个异常

java.lang.NoSuchMethodError: com.google.common.base.Joiner.on(C)Lcom/google/common/base/Joiner;
at com.google.api.client.auth.oauth2.AuthorizationCodeFlow$Builder.setScopes(AuthorizationCodeFlow.java:644)
at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow$Builder.setScopes(GoogleAuthorizationCodeFlow.java:256)
at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow$Builder.<init>(GoogleAuthorizationCodeFlow.java:225)
at com.stpl.pats.bl.event.general.HelloAnalyticsApiSample.authorize(HelloAnalyticsApiSample.java:71)
at com.stpl.pats.bl.event.general.HelloAnalyticsApiSample.initializeAnalytics(HelloAnalyticsApiSample.java:157)
at com.stpl.pats.bl.event.general.HelloAnalyticsApiSample.main(HelloAnalyticsApiSample.java:39)

请告诉我我的代码有什么问题...

最佳答案

显然,在运行时找到的版本没有 Joiner.on(char seperator) 返回 Joiner,尽管 Guava 中的版本自发布以来一直拥有它。从 google-collections 导入,因此它看起来像是另一个 jar 中的代码的嵌入版本(因此您的代码中没有任何问题,只有依赖项中没有问题)。

我假设 HelloAnalyticsApiSample 是您的代码并且可以修改。在 main() 中第 39 行之前添加以下内容:

System.out.println(com.google.common.base.Joiner.class
        .getProtectionDomain().getCodeSource().getLocation());

(或使用您选择的日志框架)。然后您应该获得包含有问题版本的 jar 的路径。

关于java - 谷歌分析异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13838817/

相关文章:

java - PostgreSQL 函数不存在

java - 如何为后退键设置一个新的监听器?

android - 如何将 Google Analytics 添加到我的 Android 应用程序?

asp.net 网络统计 - 谷歌分析

java - 决定请求类的类型?

java - JAVA 中字符串的不可变性

C# HttpClient 在字典字符串/对象中使用 FormUrlEncodedContent 对象发布内容

php - 我的 php 文件没有以 JSON 形式返回所有值

javascript - canvasjs 柱形图 - json 对象中有 'x' 值,我不知道它来自哪里

google-analytics - Google Analytics DataChart - 如何创建具有多个系列的单个折线图?