我收到以下錯誤:NoSuchMethod錯誤得到一個GDATA服務
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.of([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
at com.google.gdata.wireformats.AltFormat$Builder.setAcceptableTypes(AltFormat.java:399)
at com.google.gdata.wireformats.AltFormat$Builder.setAcceptableXmlTypes(AltFormat.java:387)
at com.google.gdata.wireformats.AltFormat.<clinit>(AltFormat.java:49)
at com.google.gdata.client.Service.<clinit>(Service.java:558)
at testproject.TestProject.run(TestProject.java:22)
at testproject.TestProject.main(TestProject.java:31)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
這來自於下面的代碼:
package testproject;
import com.google.gdata.client.youtube.YouTubeService;
import com.google.gdata.util.*;
import java.util.logging.*;
public class TestProject {
public static void main(String[] args) {
try {
YouTubeService service = new YouTubeService("Test", "developerKey");
service.setUserCredentials("[email protected]", "pa$$word");
} catch (AuthenticationException ex) {
Logger.getLogger(TestProject.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
起初,我包括每個庫在http://code.google.com/p/gdata-java-client/downloads/list和還進口更多比我需要。 我已經刪除了我認爲不需要的圖書館(感謝thinksteep)。所以,我目前包括庫下列庫:
mail.jar
activation.jar
ant.jar
gdata-core-1.0.jar
gdata-media-1.0.jar
guava-11.0.1.jar
gdata-youtube-2.0.jar
gdata-youtube-met-2.0.jar
(可能有一些庫有哪些是沒有必要的......但我在我絲毫結束...) 我我只是試圖獲得一個YouTube服務,所以我可以在這個項目上做些事情,但沒有骰子。哦,我還包括這個庫:http://code.google.com/p/guava-libraries,因爲在我得到NoClassDefFound錯誤之前,包括該庫似乎解決了它。預先感謝您的幫助! 哦,我也在gdata getting started guide中準確地(或者至少我是這麼認爲)遵循了每一步。我的測試版最終成功了......再次感謝!
感謝您的迴應。我仍然收到錯誤。 我刪除了我認爲不必要的所有罐子,並刪除了所有不必要的進口,並收到相同的錯誤。我已更新該帖子以反映代碼現在的樣子。 – kentcdodds 2012-02-10 04:33:20
檢查這個鏈接,似乎與番石榴庫有矛盾。 http://code.google.com/p/gdata-java-client/issues/detail?id=344 – kosa 2012-02-10 04:36:15
這就是我的問題!現在我只需要弄清楚他們的解決方案是什麼意思...... Okris(在該線程上)說:_Solution正在改變爲ImmutableSet.copyOf(E []元素)_,但我不確定是什麼這意味着我應該這樣做。你能指導我多走一步嗎?謝謝你的幫助! – kentcdodds 2012-02-10 04:45:00