Servlets java.lang.ClassNotFoundException:com.google.api.client.http.HttpTransport

Servlets java.lang.ClassNotFoundException:com.google.api.client.http.HttpTransport,servlets,google-drive-api,Servlets,Google Drive Api,我正在尝试构建一个java服务器,当它收到一个“帖子”时,它将 做一个div,里面将是我在谷歌硬盘中得到的文件列表 首先,我构建了google驱动端,并将其放到arrylist中。 当我给出正确的参数时,它就起作用了 但是当我尝试将它与我的服务器结合时,它会变得疯狂。 我的doPost方法正在调用此列表并希望打印它,但是我有一些错误。 请告诉我 Connection.java(删除了id和sec) 确保已将google客户端http jar文件添加到项目中。此外,有时您可能需要根据所使用的IDE

我正在尝试构建一个java服务器,当它收到一个“帖子”时,它将 做一个div,里面将是我在谷歌硬盘中得到的文件列表

首先,我构建了google驱动端,并将其放到arrylist中。 当我给出正确的参数时,它就起作用了

但是当我尝试将它与我的服务器结合时,它会变得疯狂。 我的doPost方法正在调用此列表并希望打印它,但是我有一些错误。

请告诉我

Connection.java(删除了id和sec)


确保已将google客户端http jar文件添加到项目中。此外,有时您可能需要根据所使用的IDE对项目执行清理。试着看看这是否有效。也看看这个,嗨,谢谢,我怎样才能“清理”这个项目呢?这完全取决于你使用的IDE。例如,Eclipse,clean选项位于Project选项卡下。选择“清理”选项后,可以选择“清理所有项目”,确保选中该选项。这将在执行完全重新发布之前从服务器中删除任何无效资源。再说一遍,我并不是说它能解决问题,但值得一试。:)
package javaServerPack;

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.drive.Drive;
import com.google.api.services.drive.Drive.Files;
import com.google.api.services.drive.model.File;
import com.google.api.services.drive.model.FileList;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Connection {




    public static void main(String[] args) throws IOException
    {
        System.out.println(Connection.getFilesNames(clientId, clientSecret, refresh));



    }


    public static String getFilesNames(String clientId,String clientSecret,String refresh) throws IOException
    {


        HttpTransport httpTransport = new NetHttpTransport();
        JacksonFactory jsonFactory = new JacksonFactory();


        GoogleCredential credential = logIn(clientId,clientSecret,refresh,httpTransport,jsonFactory);

         Drive service = new Drive.Builder(httpTransport, jsonFactory, credential)
         .setApplicationName("listNumberOne")
         .build();

         return printFilesName(retrieveAllFiles(service));

    }

    private static String printFilesName(List<File> files)
    {
         String lines = "";
         for(File each:files)
         {

             lines += each.getTitle() + "\n";
         }
         return lines;
    }

    private static GoogleCredential logIn(String clientId, String clientSecret, String refresh, 
            HttpTransport httpTransport,JacksonFactory jsonFactory)
    {

        GoogleCredential credential = new GoogleCredential.Builder()
                .setTransport(httpTransport)
                .setJsonFactory(jsonFactory)
                .setClientSecrets(clientId,clientSecret)
                .build();

        credential.setRefreshToken(refresh);
        return credential;
    }


  /**
   * Retrieve a list of File resources.
   *
   * @param service Drive API service instance.
   * @return List of File resources.
   */
  private static List<File> retrieveAllFiles(Drive service) throws IOException {
    List<File> result = new ArrayList<File>();
    Files.List request = service.files().list();

    do {
      try {
        FileList files = request.execute();

        result.addAll(files.getItems());
        request.setPageToken(files.getNextPageToken());
      } catch (IOException e) {
        System.out.println("An error occurred: " + e);
        request.setPageToken(null);
      }
    }
    while (request.getPageToken() != null &&
             request.getPageToken().length() > 0);

    return result;
  }

}
package javaServerPack;

import java.io.IOException;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class JavaServer extends HttpServlet {
    private static final long serialVersionUID = 1L;


    /**
     * Default constructor. 
     */
    public JavaServer() {
        super();
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //System.out.println(request.getParameter("name"));

        response.setContentType("text/plain");
        response.setCharacterEncoding("UTF-8");

        response.getWriter().println("<div id =\"someDiv\">" + "hi" +   " </div>");

    }
     /*Connection.getFilesNames(clientId, clientSecret, refresh)
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/plain");
        response.setCharacterEncoding("UTF-8");

        response.getWriter().println("<div id =\"someDiv\">"  + Connection.getFilesNames(clientId2, clientSecret2, refresh2) + " </div>");
    }

}
2016-01-14 14:26:18.007:WARN:oejs.ServletHandler:qtp548246552-13: Error for /JavaServer/JavaServer
java.lang.NoClassDefFoundError: com/google/api/client/http/HttpTransport
    at javaServerPack.JavaServer.doPost(JavaServer.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:499)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Unknown Source)
Caused by: 
java.lang.ClassNotFoundException: com.google.api.client.http.HttpTransport
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:450)
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)
    at javaServerPack.JavaServer.doPost(JavaServer.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:499)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Unknown Source)