Cod*_*Med 5 java rss rome jdom
我在尝试加载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)
Run Code Online (Sandbox Code Playgroud)
触发错误的代码行是:
SyndFeedOutput output = new SyndFeedOutput();
Run Code Online (Sandbox Code Playgroud)
我已经搜索了此错误消息,并阅读了有关它的几个帖子,包括在此网站上发布的内容.这些帖子表明将jdom.jar添加到构建路径将导致错误消失.但是,我已经将与jdom-2.0.4.jar捆绑在一起的所有8个jar文件添加到我在eclipse中的buildpath中,但每次尝试加载rss页面时,错误消息仍然存在.
我想知道问题是否可能与我使用jdom-2.0.4.jar以及可能是旧语法的事实有关:
SyndFeedOutput output = new SyndFeedOutput();
Run Code Online (Sandbox Code Playgroud)
此错误消息的其他帖子都来自旧版本的jdom.也许在新版本的jdom中调用等效的SyndFeedOutput()有一些新的语法?
任何人都可以帮助我通过此错误消息?
为了解决Nocmear的建议,我已经确认以下9个jar文件是与jdom或rome相关的唯一jar文件,它们包含在我的应用程序的buildpath中:
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
Run Code Online (Sandbox Code Playgroud)
第二次编辑:
我下载了jdom-1.1.3并将它添加到我的应用程序的eclipse中的buildpath中,正如rolfl建议的那样.
当我在我的网络浏览器中加载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)
Run Code Online (Sandbox Code Playgroud)
现在包含在我的构建路径中的相关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
Run Code Online (Sandbox Code Playgroud)
另外,我尝试将这些jar添加到tomcat中的bin文件中,而不是按照Nocmear的建议,但是这只是在eclipse中触发了错误消息,所以我把它们放回到eclipse appication中.
也许我不理解人们的建议.或者也许有人可能有其他建议.任何帮助表示赞赏.