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
2番目の編集:
rolflが提案したように、jdom-1.1.3をダウンロードして、eclipseのアプリケーションのビルドパスに追加しました。
Webブラウザに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の提案に従って、代わりにtomcatのbinファイルにこれらのjarファイルを追加しようとしましたが、それがEclipseでエラーメッセージをトリガーしただけなので、Eclipseアプリケーションに戻しました。
おそらく私は人々が何を示唆しているのか理解していません。あるいは、誰かが他の提案をしているかもしれません。どんな助けでも大歓迎です。