2013-12-23 19 views
0

我想在java控制檯應用程序中使用google-api-services-plus-v1庫,但每次執行以下代碼時都會遇到ClassDefFoundError:如何在不使用appengine的情況下使用google-api-services-plus-v1

Plus.Activities.Search req = service.activities().search(q); 
ActivityFeed feed = req.execute(); 

例外:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/appengine/api/urlfetch/HTTPMethod 
at com.google.api.client.extensions.appengine.http.UrlFetchTransport.buildRequest(UrlFetchTransport.java:125) 

如何添加這些庫?

回答

2

您正在使用谷歌-API的Java的客戶機分佈的AppEngine:

以下是從依賴關係的罐子文件夾所需的Servlet應用程序(或每個依賴的較新兼容版本):

google-api-client-1.17.0-rc.jar 
google-api-client-servlet-1.17.0-rc.jar 
google-oauth-client-1.17.0-rc.jar 
google-oauth-client-servlet-1.17.0-rc.jar 
google-http-client-1.17.0-rc.jar 
commons-logging-1.1.1.jar 
gson-2.1.jar 
httpclient-4.0.3.jar 
httpcore-4.0.1.jar 
jackson-core-asl-1.9.4.jar 
jackson-core-2.1.3.jar 
jdo2-api-2.3-eb.jar 
jsr305-1.3.9.jar 
protobuf-java-2.2.0.jar 
transaction-api-1.1.jar 
xpp3-1.1.4c.jar 

對於一般用途(命令行):

google-api-client-1.17.0-rc.jar 
google-oauth-client-1.17.0-rc.jar 
google-http-client-1.17.0-rc.jar 
commons-logging-1.1.1.jar 
gson-2.1.jar 
httpclient-4.0.3.jar 
httpcore-4.0.1.jar 
jackson-core-asl-1.9.4.jar 
jackson-core-2.1.3.jar 
jsr305-1.3.9.jar 
protobuf-java-2.2.0.jar 
xpp3-1.1.4c.jar 

看一看在這裏如何選擇正確的庫:

https://code.google.com/p/google-api-java-client/wiki/Setup

如果你到Maven和你柔軟的具有在servlet容器中運行,嘗試這種依賴性:

<dependency> 
     <groupId>com.google.api-client</groupId> 
     <artifactId>google-api-client-servlet</artifactId> 
     <version>1.17.0-rc</version> 
    </dependency> 

和NOT

<dependency> 
     <groupId>com.google.api-client</groupId> 
     <artifactId>google-api-client-appengine</artifactId> 
     <version>1.17.0-rc</version> 
    </dependency> 
+0

作品完美,不得不添加google-http-client-jackson2-1.17.0-rc雖然爲JacksonFactory類。 – thommie

相關問題