尝试加载 rss 页面时收到以下错误消息:
Feb 16, 2013 9:08:44 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [news-feed] in context with path [/publisher] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: org.jdom.JDOMException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at com.sun.syndication.io.SyndFeedOutput.<init>(SyndFeedOutput.java:44)
触发错误的代码行是:
SyndFeedOutput output = new SyndFeedOutput();
我已经用谷歌搜索了这个错误消息并阅读了几篇关于它的帖子,包括这个网站上的帖子。这些帖子表明将 jdom.jar 添加到构建路径将导致错误消失。但是,我已将与 jdom-2.0.4.jar 捆绑在一起的所有 8 个 jar 文件添加到我在 eclipse 中的构建路径中,但每次尝试加载 rss 页面时错误消息仍然存在。
我想知道问题是否可能与我正在使用 jdom-2.0.4.jar 的事实有关,而这可能是较旧的语法:
SyndFeedOutput output = new SyndFeedOutput();
此错误消息的其他帖子均来自旧版本的 jdom。也许有一些新的语法可以在新版本的 jdom 中调用 SyndFeedOutput() 的等价物?
谁能帮我解决这个错误信息?
编辑:
为了解决 Nocmear 的建议,我已确认以下 9 个 jar 文件是我的应用程序的构建路径中包含的唯一与 jdom 或 rome 相关的 jar 文件:
jaxen-1.1.4.jar
jdom-2.0.4.jar
jdom-2.0.4-contrib.jar
jdom-2.0.4-javadoc.jar
jdom-2.0.4-junit.jar
jdom-2.0.4-sources.jar
rome-1.0.jar
xercesImpl.jar
xml-apis.jar
第二次编辑:
正如 rolfl 所建议的,我下载了 jdom-1.1.3 并将其添加到我在 Eclipse 中的应用程序的构建路径中。
当我在网络浏览器中加载 rss 页面时,tomcat 给了我以下错误日志:
java.lang.NoClassDefFoundError: org/jdom/JDOMException
com.sun.syndication.io.SyndFeedOutput.<init>(SyndFeedOutput.java:44)
publisher.web.NewsFeedServlet.doGet(NewsFeedServlet.java:68)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
java.lang.ClassNotFoundException: org.jdom.JDOMException
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
com.sun.syndication.io.SyndFeedOutput.<init>(SyndFeedOutput.java:44)
publisher.web.NewsFeedServlet.doGet(NewsFeedServlet.java:68)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
现在包含在我的构建路径中的相关 jar 文件是:
ant.jar
jaxen.jar
jaxen 1.1.4.jar
jdom-2.0.4.jar
jdom-2.0.4-contrib.jar
jdom-2.0.4-javadoc.jar
jdom-2.0.4-junit.jar
jdom-2.0.4-sources.jar
rome-1.0.jar
xalan.jar
xerces.jar
xercesImpl.jar
xml-apis.jar
此外,我尝试按照 Nocmear 的建议将这些 jars 添加到 tomcat 中的 bin 文件中,但这只是在 eclipse 中触发了错误消息,所以我将它们放回 eclipse 应用程序中。
也许我不明白人们的建议。或者也许有人可能有其他建议。任何帮助表示赞赏。