Lucene: не могу найти символ - PullRequest
       2

Lucene: не могу найти символ

0 голосов
/ 12 октября 2011

Я использую Lucene 3.4.0, hibernate (hibernate-all.jar), ANT и TestNG для запуска некоторого теста ... Больше всего работает прямо сейчас, но, поскольку я реализовал свою часть lucene, кажется, что ничего не работает, когдаЯ использую команду муравья ... Я тут немного потерялся.

Потому что все отлично работает локально.Я могу запустить свой тест, скомпилировать и т. Д. Как только я пытаюсь собрать с помощью ant, я получаю эту ошибку "не могу найти символ" для конструктора StandartAnalyzer (version.) И т. Д.

Но, какЯ сказал, что все работает на Eclipse ... Сначала у меня был метод, который не нашел ошибку, но исправил ее, потому что hibernate не совместим с последней версией lucene.Итак, я обновил Hibernate ... но теперь я получаю это.

Спасибо.Если вам нужна дополнительная информация, пожалуйста, спросите.

    $ ant explode
Buildfile: c:\DuplicateBugFinder\dbf\build.xml

init:

groovy.compile:

groovy.copy:

compile:
    [javac] c:\DuplicateBugFinder\dbf\build.xml:156: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=l
st; set to false for repeatable builds
    [javac] Compiling 27 source files to c:\DuplicateBugFinder\dbf\exploded-archives\dbf.ear\dbf_jar
    [javac] c:\DuplicateBugFinder\dbf\src\hot\com\rim\sts\dbf\business\service\classification\LuceneClassificationAlgorithm.java:
6: cannot find symbol
    [javac] symbol  : constructor StandardAnalyzer(org.apache.lucene.util.Version)
    [javac] location: class org.apache.lucene.analysis.standard.StandardAnalyzer
    [javac]     Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_34);
    [javac]                         ^
    [javac] c:\DuplicateBugFinder\dbf\src\hot\com\rim\sts\dbf\business\service\classification\LuceneClassificationAlgorithm.java:
2: cannot find symbol
    [javac] symbol  : constructor QueryParser(org.apache.lucene.util.Version,java.lang.String,org.apache.lucene.analysis.Analyzer

    [javac] location: class org.apache.lucene.queryParser.QueryParser
    [javac]             new QueryParser(Version.LUCENE_34, "title", analyzer)
    [javac]             ^
    [javac] c:\DuplicateBugFinder\dbf\src\hot\com\rim\sts\dbf\business\service\classification\LuceneClassificationAlgorithm.java:
9: cannot find symbol
    [javac] symbol  : constructor IndexSearcher(org.apache.lucene.store.Directory,boolean)
    [javac] location: class org.apache.lucene.search.IndexSearcher
    [javac]       searcher = new IndexSearcher(index, true);
    [javac]                  ^
    [javac] c:\DuplicateBugFinder\dbf\src\hot\com\rim\sts\dbf\business\service\classification\LuceneClassificationAlgorithm.java:
00: cannot find symbol
    [javac] symbol  : method search(org.apache.lucene.search.Query,org.apache.lucene.search.TopScoreDocCollector)
    [javac] location: class org.apache.lucene.search.IndexSearcher
    [javac]       searcher.search(q, collector);
    [javac]               ^
    [javac] 4 errors

BUILD FAILED
c:\DuplicateBugFinder\dbf\build.xml:156: Compile failed; see the compiler error output for details.

Ответы [ 3 ]

1 голос
/ 13 октября 2011

Проверьте ant classpath для нескольких версий библиотеки Lucene.Сделайте ant -diagnostics, чтобы проверить среду муравья.

1 голос
/ 13 октября 2011

Вероятно, это разница в классах, используемых Eclipse и Ant соответственно.Проверьте, какие jar-файлы вы точно используете внутри Eclipse (какие библиотеки добавлены в проект), а затем какие jar-файлы вы используете в объявленном пути к классам Ant при сборке с этим.Также убедитесь, что вы используете один и тот же JDK в Eclipse и Ant.Если любой из этих двух вариантов отличается, измените Ant на Eclipse (поскольку это среда, которая работает)

0 голосов
/ 19 октября 2011

ОК исправил это. Мне нужно было добавить файл JAR в мой lib / test (я использую фреймворк шва). В Eclipse все работало, потому что я указывал на jar в моих конфигурациях запуска для TestNG. Когда я выполнял команду «Муравейник», банка не была найдена ...

Так что спасибо всем.

Кроме того, для тех из вас, кто хочет использовать люцен и шов, убедитесь, что у вас нет несовместимости версий. У меня была эта проблема в течение длительного времени. Наконец, я узнал, что для работы со швом 2.2 мне пришлось использовать более старую версию lucene (2.4.1). Я еще не проверял на lucene 3.4 и шов 3 ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...