Googleの連絡先を取得するためにjavafxアプリをプログラミングしています。
netbeans を使用してアプリをクリーニングおよびビルドし、Web ブラウザー (firefox) でアプリを実行すると、すべてがうまくいきますが、アプリが別のサーバーにある場合、アプリケーションは「com.google.common.collect.マルチセット」。
このエラーは、アプリが次のコードを実行しようとしたときにのみ発生します。
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」はグアバの中にあります。
すべてがローカル マシンではなく別のサーバーにある場合、アプリが失敗する理由がわかりません。