2009-08-01 6 views
1

나는 일하기 위해 몇 가지 일을하려고 노력 중이다. 그래서 나는 구글 앱 엔진 자바를 시험해 볼 수있다. 그러나 나는 내가 얻을 수없는 것에 문제가있는 것 같다.PicasawebService 오류를 어떻게 해결할 수 있습니까?

자바 코드는 다음과 같습니다

import java.net.URL; 
import com.google.gdata.client.photos.*; 
import com.google.gdata.data.photos.*; 

public class TestPicasa { 

public static void main(String[] args) { 

    try { 
     PicasawebService service = new PicasawebService("Picasa test"); 
     service.setUserCredentials("[email protected]", "password"); 
     URL feedURL = new URL("http://picasaweb.google.com/data/feed/api/user/username?kind=album"); 
     UserFeed feed = service.getFeed(feedURL, UserFeed.class); 
     for (AlbumEntry entry : feed.getAlbumEntries()) { 
      System.out.println(entry.getTitle().getPlainText()); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

} 

} 

나는, activation.jar을, 서블릿 - api.jar을, GDATA 클라이언트, GDATA 클라이언트 - 메타, GDATA 코어를 mail.jar를 기준으로 한 gdata-media, gdata-photos-2.0.jar 및 gdata-photos-meta-2.0.jar 파일을 google의 지침에 따라 다운로드하십시오.

그리고 콘솔이 오류가 발생합니다 :

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/Maps 
at com.google.gdata.wireformats.AltRegistry.<init>(AltRegistry.java:118) 
at com.google.gdata.wireformats.AltRegistry.<init>(AltRegistry.java:100) 
at com.google.gdata.client.Service.<clinit>(Service.java:532) 
at TestPicasa.main(TestPicasa.java:10) 

내가 놓친 것에 대한 어떤 생각?

답변

0

Google jar를 두 번로드하지 않는지 확인하십시오. 때때로 당신은 2 개의 위치를 ​​가질 것이고, 당신이 생각하지 않는 것이 2 개의 위치를 ​​가질 것입니다. 그런 다음 클래스 파일은 첫 번째 클래스 로더 아래에있는 항아리가 없기 때문에 누락됩니다. 이것은 웹 애플리케이션의 WEB-INF/lib에 모든 jar 파일이 있지만 Tomcat/lib에 jar 파일이있는 경우 Tomcat에서 자주 발생합니다. 또한, 난 단지 구글 - collect.jar에서 누락 된 클래스를 발견하고 나는 또한 필요

관련 문제