Solr javax ServletInputStream.isFinished()-abstractMethodError
正在尝试在jetty 8中托管solr 5.0。由于我使用的是ServletAPI3.0,所以(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
isFinished()
方法)抛出了一个NoSuchMethodException
当我升级到javax servlet api 3.1时,错误被替换为AbstractMethodException
。问题似乎是,isFinished()
确实是一个抽象方法,正如
javax ServletRequest类确实返回(抽象)ServletInputStream的实例,至少在我的例子中,jettyServletRequest中的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是必须的。为什么技术上正确,答案没有明确说明新的接口和旧的实现版本之间存在不匹配(参见此答案)