2016-11-09 1 views
0

Пытается принять решение solr 5.0 in jetty 8. This line in solr codebase (метод isFinished()) выбрасывает NoSuchMethodException, так как я использовал сервлет API 3.0.javax ServletInputStream.isFinished() - abstractMethodError

Ошибка была заменена на AbstractMethodException при обновлении до javax-servlet-api 3.1. Проблема, кажется, что isFinished() действительно абстрактный метод, как shown here

Класс javax ServletRequest действительно возвращает экземпляр (абстрактном) ServletInputStream в shown here - и по крайней мере в моем случае InputStream в причалу ServletRequest.getInputStream() кажется вернуться a ServletInputStream с isFinished() не реализована, и, следовательно, ошибка.

Любая работа вокруг? Я должен что-то пропустить здесь, так как я не думаю, что solr codebase будет ссылаться на HttpServletRequest.getInputStream().isFinished(), если он не ожидал должным образом созданного ServletInputStream.

ответ

2

Примечание: Jetty 8 is EOL (End of Life)

Это не представляется возможным провести Solr 5 (или что-нибудь, что требует Servlet 3.1) в Jetty 8.

Первая версия Причал для поддержки Servlet 3.1 был Jetty 9.1.

+0

Хорошо спасибо. Это то, что мне нужно было знать. Если я использую сервлет 3.1, то Jetty 9 является обязательным – lonesword