2016-11-09 179 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