0

我是谷歌 API 的新手。我正在尝试创建一个简单的 Web 应用程序(Java EE)来从 google doc 读取 DocumentListFeed。我在 servlet 中的代码是:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    try 
    {   
        DocsService service = new DocsService("Document List Demo");
        service.setUserCredentials(NAME, PASSWORD);

        response.getWriter().println("helloooooo");


        //URL documentListFeedUrl = new URL("http://docs.google.com/feeds/documents/private/full");     
        URL documentListFeedUrl = new URL("https://docs.google.com/feeds/default/private/full?v=3");        
        DocumentListFeed feed = service.getFeed(documentListFeedUrl, DocumentListFeed.class);

        for(DocumentListEntry entry : feed.getEntries())
        {
            response.getWriter().println(entry.getTitle().getPlainText());
        }



    }   

    catch (Exception e)
    {

        response.getWriter().println(e);
    }
}

但它向我显示了错误:java.lang.NoClassDefFoundError: com/google/gdata/client/docs/DocsService

我正在使用 Glassfish 服务器和 Ecllipse。并添加了外部jar文件:activation.jar, guava-r07.jar, mail.jar, servlet.jar, gdata-client-1.0.jar, gdata-client-meta-1.0.jar, gdata-core-1.0.jar, gdata-media-1.0.jar、gdata-docs-3.0.jar、gdata-docs-meta-3.0.jar。

我已将相同的代码复制到 java 标准版,它工作正常。请告诉我为什么这个东西在 Java EE 中不起作用?GlassFish 服务器有问题吗?

4

1 回答 1

0

这只是意味着您的 Glassfish 服务器类路径中不存在这些 jar。将您列出的所有 jar 添加到您的 glassfish 服务器类路径。由于我不是 Glassfish 专家,我无法帮助您将罐子添加到您的服务器。如果是weblogic,你只需要打包你项目APP-INF目录下的所有jar。

希望能帮助到你。

于 2012-12-19T14:35:35.893 回答