Я получаю NoClassDefFoundError, даже когда CommonTermsQuery включен в jar, и я могу видеть его в пути сборки. В чем может быть проблема? - PullRequest
0 голосов
/ 13 апреля 2019

Я перевожу Lucene с версии 2 на 7.7.1 и сталкиваюсь с проблемой ниже при обновлении поиска Lucene.Получение NoClassDefFoundError для CommonTermsQuery, даже если включен jar-файл, частью которого он является (lucene-reports-7.7.1.jar).Подскажите, пожалуйста, чего здесь не хватает.

Журнал ошибок:

_Apr 12, 2019 5:07:29 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [jsp] in context with path threw 
exception [javax.servlet.ServletException: java.lang.NoClassDefFoundError:  
       org/apache/lucene/queries/CommonTermsQuery] with root cause
java.lang.NoClassDefFoundError: org/apache/lucene/queries/CommonTermsQuery
at     org.apache.lucene.search.highlight.WeightedSpanTermExtractor.extract(WeightedSpanTermExtractor.java:149)
at org.apache.lucene.search.highlight.WeightedSpanTermExtractor.extract(WeightedSpanTermExtractor.java:112)
at org.apache.lucene.search.highlight.WeightedSpanTermExtractor.getWeightedSpanTerms(WeightedSpanTermExtractor.java:513)
at org.apache.lucene.search.highlight.QueryScorer.initExtractor(QueryScorer.java:218)
at org.apache.lucene.search.highlight.QueryScorer.init(QueryScorer.java:186)
at org.apache.lucene.search.highlight.Highlighter.getBestTextFragments(Highlighter.java:201)
at org.apache.lucene.search.highlight.Highlighter.getBestFragments(Highlighter.java:161)
at org.apache.lucene.search.highlight.Highlighter.getBestFragments(Highlighter.java:465)_

Фрагмент кода:

...
TokenStream tokenStream = analyzer.tokenStream(searchField.toLowerCase(), new 
StringReader(content));
        preview = highlighter.getBestFragments(tokenStream, content, 3, "...");
...

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Затмение имел в виду старый сосуд.Я сделал ниже вещи, чтобы решить мою проблему.Если вы добавили jar в путь сборки и если он виден в указанной библиотеке, то.

  • Проверьте, присутствует ли jar в кэше затмений: Рабочая область / .metadata / .plugins /org.eclipse.wst.server.core / tmp0 / wtpwebapps / project / WEB-INF / lib

  • Затем перейдите правой кнопкой мыши на проект> Свойства> Сборка развертывания: проверьте свой флягу, если он отсутствует, то добавьте его.

Очистите сборку проекта.Работает нормально.

0 голосов
/ 13 апреля 2019

Вам необходимо добавить lucene-query-7.7.1.jar в ваш путь к классам. (Кстати, более новая версия уже существует - 8.0.0)

...