我是谷歌 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 服务器有问题吗?