2016-11-09 34 views
0

試圖在jetty 8中託管solr 5.0。This line in solr codebaseisFinished()方法)拋出了NoSuchMethodException,因爲我使用的是servlet API 3.0。javax ServletInputStream.isFinished() - abstractMethodError

當我升級到javax-servlet-api 3.1時,錯誤被替換爲AbstractMethodException。這個問題似乎是isFinished()的確是一個抽象方法,爲shown here

使用javax的ServletRequest類並返回(摘要)ServletInputStream的實例作爲shown here - 至少在我的情況InputStream的在碼頭ServletRequest.getInputStream()似乎返回ServletInputStreamisFinished()未執行,因此錯誤。

任何變通?由於我不認爲solr codebase會調用HttpServletRequest.getInputStream().isFinished(),如果它沒有預期正確實例化的ServletInputStream,我一定會在這裏丟失一些東西。

回答

2

注:Jetty 8 is EOL (End of Life)

這是不可能舉辦Solr的5(或任何需要的Servlet 3.1)在碼頭8

碼頭的第一個版本,以支持Servlet 3.1是碼頭9.1。

+0

好,謝謝。這就是我需要知道的。如果我使用servlet 3.1,那麼Jetty 9似乎是必須的 – lonesword