NoClassDefFoundError:com / google / api / client / extensions / appengine / http / UrlFetchTransport? [英] NoClassDefFoundError: com/google/api/client/extensions/appengine/http/UrlFetchTransport?

查看:259
本文介绍了NoClassDefFoundError:com / google / api / client / extensions / appengine / http / UrlFetchTransport?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Google应用引擎上有一个网络服务,我试图从网络服务的谷歌云存储中读取一个文件。这是我使用的代码:

I have a web service on google app engine and I am trying to read a file from the google cloud store from the web service. This is the code I am using:

public static byte[] readFile2(String bucket, String filepath) throws IOException {
    GcsService gcsService = GcsServiceFactory.createGcsService(RetryParams.getDefaultInstance());
    GcsFilename fileName = new GcsFilename(bucket, filepath);
    logger.warning(fileName.toString() + "<br>");
    logger.warning(String.format("/gs/%s/%s", fileName.getBucketName(), fileName.getObjectName()));
    int fileSize = (int) gcsService.getMetadata(fileName).getLength();
    ByteBuffer result = ByteBuffer.allocate(fileSize);
    try (GcsInputChannel readChannel = gcsService.openReadChannel(fileName, 0)) {
        readChannel.read(result);
    }
    return result.array();
}

并且正在调用它

and am invoking this with

writer.write(new String(readFile2("myBucket", "my/path/to/file.sql")));

然而,当我尝试运行服务时,我得到了

However when I try to run the service I get

java.lang.NoClassDefFoundError: com/google/api/client/extensions/appengine/http/UrlFetchTransport
at com.google.appengine.tools.cloudstorage.oauth.OauthRawGcsServiceFactory.<clinit>(OauthRawGcsServiceFactory.java:29)
at com.google.appengine.tools.cloudstorage.GcsServiceFactory.createRawGcsService(GcsServiceFactory.java:42)
at com.google.appengine.tools.cloudstorage.GcsServiceFactory.createGcsService(GcsServiceFactory.java:34)
at ...........................CloudLookupServlet.readFile2(CloudLookupServlet.java:69) -> first line of readFile2
...

我的战争中有以下几个罐子:

I have the following jars in my war:

appengine-api-labs.jar
appengine-api-stubs.jar
appengine-api.jar
appengine-gcs-client-0.3.9.jar
appengine-local-runtime-shared.jar
commons-lang3-3.2.jar
commons-logging-1.1.1.jar
el-api.jar
geronimo-jpa_3.0_spec-1.1.1.jar
geronimo-jta_1.1_spec-1.1.1.jar
google-api-client-1.18.0-rc.jar
google-api-client-appengine-1.18.0-rc.jar
google-api-client-servlet-1.18.0-rc.jar
google-api-services-datastore-protobuf-v1beta2-rev1-2.1.0.jar
google-http-client-1.18.0-rc.jar
google-http-client-appengine-1.18.0-rc.jar
google-http-client-jackson-1.18.0-rc.jar
google-http-client-jackson2-1.18.0-rc.jar
google-http-client-protobuf-1.18.0-rc.jar
google-oauth-client-1.18.0-rc.jar
google-oauth-client-appengine-1.18.0-rc.jar
google-oauth-client-java6-1.18.0-rc.jar
google-oauth-client-jetty-1.18.0-rc.jar
google-oauth-client-servlet-1.18.0-rc.jar
gson-2.1.jar
guava-17.0.jar
httpclient-4.0.1.jar
httpcore-4.0.1.jar
jackson-core-2.1.3.jar
jackson-core-asl-1.9.11.jar
jcommander-1.32.jar
jdo2-api-2.3-eb.jar
jsp-api.jar
jsr305-2.0.1.jar
protobuf-java-2.5.0.jar
servlet-api.jar
transaction-api-1.1.jar
xpp3-1.1.4c.jar
xstream-1.4.7.jar

我不确定我错过了什么来解决这个问题。任何帮助,将不胜感激,谢谢。

I am not sure what I am missing to resolve this issue. Any help would be appreciated, thanks.

推荐答案

好了一段时间后,我发现我需要的所有罐子。截至目前, https://code.google。 com / p / google-api-java-client / wiki / Setup#Download_Library_with_Dependencies 没有更新上面运行代码所需的完整jar包列表。我有以下几个罐子让我的项目一起工作(注意:你可能不需要所有这些,但是如果你被卡住了,它就是一个开始的地方):

Ok after some time, I found all the jars I needed. As of this time, https://code.google.com/p/google-api-java-client/wiki/Setup#Download_Library_with_Dependencies is not updated with the full list of jars needed to run the code above. I have the following jars to get it along with my project to work (note: you might not need all of them, but it is a starting place if you are stuck):

appengine-api-labs.jar
appengine-api-stubs.jar
appengine-api.jar
appengine-gcs-client-0.3.9.jar
appengine-local-runtime-shared.jar
commons-lang3-3.2.jar
commons-logging-1.1.1.jar
el-api.jar  
geronimo-jpa_3.0_spec-1.1.1.jar 
geronimo-jta_1.1_spec-1.1.1.jar 
google-api-client-1.18.0-rc.jar 
google-api-client-appengine-1.18.0-rc.jar
google-api-client-servlet-1.18.0-rc.jar 
google-api-services-datastore-protobuf-v1beta2-rev1-2.1.0.jar
google-api-services-storage-v1-rev2-1.18.0-rc.jar
google-http-client-1.18.0-rc.jar
google-http-client-appengine-1.18.0-rc.jar
google-http-client-jackson-1.18.0-rc.jar
google-http-client-jackson2-1.18.0-rc.jar
google-http-client-protobuf-1.18.0-rc.jar
google-oauth-client-1.18.0-rc.jar
google-oauth-client-appengine-1.18.0-rc.jar
google-oauth-client-java6-1.18.0-rc.jar
google-oauth-client-jetty-1.18.0-rc.jar
google-oauth-client-servlet-1.18.0-rc.jar
gson-2.1.jar
guava-17.0.jar
httpclient-4.0.1.jar
httpcore-4.0.1.jar
jackson-core-2.1.3.jar
jackson-core-asl-1.9.11.jar
jcommander-1.32.jar
jdo2-api-2.3-eb.jar
joda-time-2.3.jar
jsp-api.jar
jsr305-2.0.1.jar
protobuf-java-2.5.0.jar
servlet-api.jar
transaction-api-1.1.jar
xpp3-1.1.4c.jar
xstream-1.4.7.jar 

如果你想要一个简短的列表,我想除了 https://code.google.com/p/google-api-java- client / wiki / Setup#Download_Library_with_Dependencies 我必须添加

If you want a shorter list to start with, I think in addition to https://code.google.com/p/google-api-java-client/wiki/Setup#Download_Library_with_Dependencies I had to add

google-api-services-storage-v1-rev2-1.18.0-rc.jar
joda-time-2.3.jar

这篇关于NoClassDefFoundError:com / google / api / client / extensions / appengine / http / UrlFetchTransport?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆