Google云端存储:无法初始化类OauthRawGcsServiceFactory

ben*_*pas 5 java google-app-engine google-cloud-storage

我正在尝试使用Google云端存储客户端库在Appengine上进行简单的上传和下载.

在执行期间,它返回以下错误:

java.lang.NoClassDefFoundError: Could not initialize class com.google.appengine.tools.cloudstorage.oauth.OauthRawGcsServiceFactory
    at com.google.appengine.tools.cloudstorage.GcsServiceFactory.createRawGcsService(GcsServiceFactory.java:42)
    at com.google.appengine.tools.cloudstorage.GcsServiceFactory.createGcsService(GcsServiceFactory.java:34)
Run Code Online (Sandbox Code Playgroud)

错误指向此处:

    @Override
    public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException {
        GcsFilename fileName = getFileName( request );

        GcsInputChannel readChannel = gcsService.openPrefetchingReadChannel(fileName, 0, BUFFER_SIZE);
        copy(Channels.newInputStream(readChannel), response.getOutputStream());
    }

    @Override
    public void doPost( HttpServletRequest request, HttpServletResponse response ) throws IOException {
        GcsOutputChannel outputChannel = gcsService.createOrReplace( getFileName(request), GcsFileOptions.getDefaultInstance() );
        copy( request.getInputStream(), Channels.newOutputStream(outputChannel) );
    }
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

And*_*gin 2

您的文件夹中缺少所需的 jar 包之一/war/WEB-INF/lib/

首先,如果您使用 Eclipse,请检查“问题”选项卡中是否没有关于服务器上资源不可用的警告。如果您看到它们,请右键单击 QuickFix 并选择“复制到...”选项。如果您不使用Eclipse,请手动检查。

如果这没有帮助,请检查您是否包含了项目所需的所有依赖项:

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