【问题标题】:guava and javafx番石榴和 javafx
【发布时间】:2012-09-28 17:28:28
【问题描述】:

我正在编写一个 javafx 应用程序来检索谷歌联系人。

使用 netbeans 清理和构建应用程序并在我的网络浏览器 (firefox) 中执行应用程序后,一切正常,但是当应用程序位于不同的服务器中时,应用程序会抛出带有“com.google.common”的“ClassCircularityError” .collect.Multisets”。

此错误仅在应用尝试执行下一个代码时发生:

ContactFeed result = service.getFeed(url, ContactFeed.class);

这是错误:

java.lang.ClassCircularityError: com/google/common/collect/Multisets
at com.google.common.collect.AbstractMultiset.iterator(AbstractMultiset.java:64)
at com.google.common.collect.ConcurrentHashMultiset.iterator(ConcurrentHashMultiset.java:57)
at com.google.gdata.client.SimpleCookieManager.getCookies(SimpleCookieManager.java:72)
at com.google.gdata.client.GoogleService.getCookies(GoogleService.java:530)
at com.google.gdata.client.http.GoogleGDataRequest$GoogleCookieHandler.get(GoogleGDataRequest.java:358)
at sun.net.www.protocol.http.HttpURLConnection.setCookieHeader(HttpURLConnection.java:1180)
at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:612)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1320)
at sun.net.www.protocol.http.HttpURLConnection.getHeaderFields(HttpURLConnection.java:2683)
at com.google.gdata.client.http.HttpGDataRequest.isOAuthProxyErrorResponse(HttpGDataRequest.java:566)
at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:557)
at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:538)
at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:536)
at com.google.gdata.client.Service.getFeed(Service.java:1135)
at com.google.gdata.client.Service.getFeed(Service.java:1077)
at com.google.gdata.client.GoogleService.getFeed(GoogleService.java:676)
at com.google.gdata.client.Service.getFeed(Service.java:1034)
at mypackage.myApp.start(myApp.java:51)
at com.sun.javafx.applet.FXApplet2$1.run(FXApplet2.java:131)
at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:173)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:76)

“com.google.common.collect.Multisets”在番石榴里面。

当一切都位于不同的服务器而不是我的本地计算机时,我不知道为什么应用程序会失败。

【问题讨论】:

    标签: guava google-apps google-contacts-api


    【解决方案1】:

    看起来你在类路径上有多个版本的一些 Guava 类,导致类加载过程中出错。确保你的类路径中没有多个版本的 guava jar,或者 guava.jar 和 google-collections.jar(旧项目)。并检查 gdata 客户端 jar 是否没有嵌入 guava 的副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-13
      相关资源
      最近更新 更多