我想在java控制台应用程序中使用google-api-services-plus-v1 lib,但是每当我执行以下代码时,我都会收到ClassDefFoundError:
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)
如何添加这些库?
您正在使用适用于 AppEngine 的 google-api-java-client 发行版:
以下是 Servlet 应用程序(或每个依赖项的较新兼容版本)所需的依赖项文件夹中的 jar:
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 并且你的 soft 必须在 servlet 容器中运行,请尝试以下依赖项:
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client-servlet</artifactId>
<version>1.17.0-rc</version>
</dependency>
而不是
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client-appengine</artifactId>
<version>1.17.0-rc</version>
</dependency>