javax ServletInputStream.isFinished() - abstractMethodError

时间:2016-11-09 10:53:44

标签: solr lucene jetty servlet-3.1

尝试在jetty 8中托管solr 5.0。This line in solr codebaseisFinished()方法)抛出NoSuchMethodException,因为我使用的是servlet API 3.0。

当我升级到javax-servlet-api 3.1时,错误被AbstractMethodException替换。问题似乎是isFinished()确实是一种抽象方法,如shown here

javax ServletRequest类确实将(抽象)ServletInputStream的实例作为shown here返回 - 至少在我的情况下,jetty ServletRequest.getInputStream()中的InputStream似乎返回ServletInputStream isFinished() {1}}未实现,因此错误。

有什么工作吗?我必须在这里遗漏一些东西,因为如果它没有预期正确实例化的ServletInputStream,我认为solr codebase不会调用HttpServletRequest.getInputStream().isFinished()

1 个答案:

答案 0 :(得分:2)

  

注意:Jetty 8 is EOL (End of Life)

在Jetty 8中无法托管Solr 5(或任何需要Servlet 3.1的东西)。

第一个支持Servlet 3.1的Jetty版本是Jetty 9.1。