Solr javax ServletInputStream.isFinished()-abstractMethodError

Solr javax ServletInputStream.isFinished()-abstractMethodError,solr,lucene,jetty,servlet-3.1,Solr,Lucene,Jetty,Servlet 3.1,正在尝试在jetty 8中托管solr 5.0。由于我使用的是ServletAPI3.0,所以(isFinished()方法)抛出了一个NoSuchMethodException 当我升级到javax servlet api 3.1时,错误被替换为AbstractMethodException。问题似乎是,isFinished()确实是一个抽象方法,正如 javax ServletRequest类确实返回(抽象)ServletInputStream的实例,至少在我的例子中,jettyServle

正在尝试在jetty 8中托管solr 5.0。由于我使用的是ServletAPI3.0,所以(
isFinished()
方法)抛出了一个
NoSuchMethodException

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

javax ServletRequest类确实返回(抽象)ServletInputStream的实例,至少在我的例子中,jetty
ServletRequest中的InputStream.getInputStream()
似乎返回一个
ServletInputStream
,其中
isFinished()
未实现,因此出现错误

有什么解决办法吗?我在这里肯定遗漏了一些东西,因为我认为如果它没有期望正确实例化ServletInputStream,它不会调用
HttpServletRequest.getInputStream().isFinished()

注:

不可能在Jetty8中托管Solr5(或任何需要Servlet3.1的东西)

支持Servlet3.1的Jetty的第一个版本是Jetty 9.1

注:

不可能在Jetty8中托管Solr5(或任何需要Servlet3.1的东西)


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

Ok,谢谢。这就是我需要知道的。如果我使用的是servlet 3.1,那么Jetty 9是必须的。为什么技术上正确,答案没有明确说明新的接口和旧的实现版本之间存在不匹配(请参见此答案)好的,谢谢。这就是我需要知道的。如果我使用的是servlet 3.1,那么Jetty 9是必须的。为什么技术上正确,答案没有明确说明新的接口和旧的实现版本之间存在不匹配(参见此答案)