NoClassDefFoundError com / google / api / services / storage / Storage $ Builder

编程入门 行业动态 更新时间:2024-10-26 15:23:02
本文介绍了NoClassDefFoundError com / google / api / services / storage / Storage $ Builder的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

完成GCS图片上传步骤并从URL下载最新文件

After performing GCS image upload steps and downloading latest file from URL

developers.google/api-client-library/java/google-api-java-client/download

以下是代码。

public class GcsExample { private static GcsService gcsService = GcsServiceFactory.createGcsService(); // Error during initialization public void doPost(String gcsFilename, byte[] data) throws IOException { GcsFilename filename = new GcsFilename("niranttest2.appspot", gcsFilename); com.google.appengine.tools.cloudstorage.GcsFileOptions.Builder fileOptionsBuilder = new GcsFileOptions.Builder(); fileOptionsBuilder.mimeType("image/jpeg"); GcsFileOptions fileOptions = fileOptionsBuilder.build(); GcsOutputChannel outputChannel = gcsService.createOrReplace(filename, fileOptions); // write file out BufferedOutputStream outStream = new BufferedOutputStream(Channels.newOutputStream(outputChannel)); List<byte[]> allBytes = new LinkedList<byte[]>(); allBytes.add(data); for (byte[] b : allBytes) { outStream.write(b); } outStream.close(); outputChannel.close(); } }

这段代码在localhost中工作正常但在生产中gcsService没有初始化。 服务器上的日志如下:

this code is working fine in localhost but in production gcsService is not initializing. Logs on Server is below:

java.lang.NoClassDefFoundError: com/google/api/services/storage/Storage$Builder at com.google.appengine.tools.cloudstorage.oauth.OauthRawGcsService.<init>(OauthRawGcsService.java:171) at com.google.appengine.tools.cloudstorage.oauth.OauthRawGcsServiceFactory.createOauthRawGcsService(OauthRawGcsServiceFactory.java:41) at com.google.appengine.tools.cloudstorage.GcsServiceFactory.createRawGcsService(GcsServiceFactory.java:59) at com.google.appengine.tools.cloudstorage.GcsServiceFactory.createGcsService(GcsServiceFactory.java:44) at com.google.appengine.tools.cloudstorage.GcsServiceFactory.createGcsService(GcsServiceFactory.java:40) at com.google.appengine.tools.cloudstorage.GcsServiceFactory.createGcsService(GcsServiceFactory.java:75) at com.sparks.nirant.serviceImpl.GcsExample.<clinit>(GcsExample.java:30)

以下是天秤座我正在使用

below are the libraries I'm using

/WEB-INF/lib/appengine-api-1.0-sdk-1.9.28.jar /WEB-INF/lib/appengine-api-labs.jar /WEB-INF/lib/appengine-endpoints-deps.jar /WEB-INF/lib/appengine-endpoints.jar /WEB-INF/lib/appengine-jsr107cache-1.9.28.jar /WEB-INF/lib/asm-4.0.jar /WEB-INF/lib/commons-logging-1.1.1.jar /WEB-INF/lib/datanucleus-api-jdo-3.1.3.jar /WEB-INF/lib/datanucleus-api-jpa-3.1.3.jar /WEB-INF/lib/datanucleus-appengine-2.1.2.jar /WEB-INF/lib/datanucleus-core-3.1.3.jar /WEB-INF/lib/geronimo-jpa_2.0_spec-1.0.jar /WEB-INF/lib/google-api-client-1.21.0.jar /WEB-INF/lib/google-api-client-android-1.21.0.jar /WEB-INF/lib/google-api-client-appengine-1.21.0.jar /WEB-INF/lib/google-api-client-gson-1.21.0.jar /WEB-INF/lib/google-api-client-jackson2-1.21.0.jar /WEB-INF/lib/google-api-client-java6-1.21.0.jar /WEB-INF/lib/google-api-client-protobuf-1.21.0.jar /WEB-INF/lib/google-api-client-servlet-1.21.0.jar /WEB-INF/lib/google-api-client-xml-1.21.0.jar /WEB-INF/lib/google-http-client-1.21.0.jar /WEB-INF/lib/google-http-client-android-1.21.0.jar /WEB-INF/lib/google-http-client-appengine-1.21.0.jar /WEB-INF/lib/google-http-client-gson-1.21.0.jar /WEB-INF/lib/google-http-client-jackson-1.21.0.jar /WEB-INF/lib/google-http-client-jackson2-1.21.0.jar /WEB-INF/lib/google-http-client-jdo-1.21.0.jar /WEB-INF/lib/google-http-client-protobuf-1.21.0.jar /WEB-INF/lib/google-http-client-xml-1.21.0.jar /WEB-INF/lib/google-oauth-client-1.21.0.jar /WEB-INF/lib/google-oauth-client-appengine-1.21.0.jar /WEB-INF/lib/google-oauth-client-java6-1.21.0.jar /WEB-INF/lib/google-oauth-client-jetty-1.21.0.jar /WEB-INF/lib/google-oauth-client-servlet-1.21.0.jar /WEB-INF/lib/gson-2.1.jar /WEB-INF/lib/guava-jdk5-17.0.jar /WEB-INF/lib/httpclient-4.0.1.jar /WEB-INF/lib/httpcore-4.0.1.jar /WEB-INF/lib/jackson-core-2.1.3.jar /WEB-INF/lib/jackson-core-asl-1.9.11.jar /WEB-INF/lib/jdo-api-3.0.1.jar /WEB-INF/lib/jdo2-api-2.3-eb.jar /WEB-INF/lib/jetty-6.1.26.jar /WEB-INF/lib/jetty-util-6.1.26.jar /WEB-INF/lib/jsr107cache-1.1.jar /WEB-INF/lib/jsr305-1.3.9.jar /WEB-INF/lib/jta-1.1.jar /WEB-INF/lib/protobuf-java-2.4.1.jar /WEB-INF/lib/transaction-api-1.1.jar /WEB-INF/lib/xpp3-1.1.4c.jar /WEB-INF/lib/javax.servlet-api-3.0.1.jar /WEB-INF/lib/commons-fileupload-1.3.1.jar /WEB-INF/lib/commons-io-2.4.jar /WEB-INF/lib/google-api-client-1.18.0-rc.jar /WEB-INF/lib/appengine-gcs-client-0.5.jar/

我相信它的错误是因为appengine-gcs-client-0.5.jar文件,但是我已经尝试过使用appengine-gcs-client-0.3.jar,它又一次抛出相同的错误。

I believe it error is because of appengine-gcs-client-0.5.jar file but I have already tried using appengine-gcs-client-0.3.jar which is again throwing same error.

推荐答案

看来您使用的是原始存储客户端(正如我从> GcsServiceFactory.crea teRawGcsService ),我猜是因为你在App Engine之外使用它。也许这是必需的。

It seems that you're using raw storage client (as I see from GcsServiceFactory.createRawGcsService), I guess because you're using it outside of App Engine. Maybe it's required anyway.

这个类来自 google-api-services-storage lib,你应该添加依赖关系:

This class is coming from google-api-services-storage lib, you should add following dependency:

<dependency> <groupId>com.google.apis</groupId> <artifactId>google-api-services-storage</artifactId> <version>v1-rev66-1.21.0</version> </dependency>

更多推荐

NoClassDefFoundError com / google / api / services / storage / Storage $ Builder

本文发布于:2023-05-25 10:52:13,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:api   google   NoClassDefFoundError   services   Builder

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!