2012-01-29 3 views
0

Я ввожу это следующее:Класс библиотеки Java не распознан?

import org.apache.lucene.analysis.PorterStemmer 

в программе Java. Весь пакет доступен в переработанной библиотеке.

Я попытался импортировать

import org.apache.lucene.analysis.PorterStemFilter 

и

import org.apache.lucene.analysis.Analyzer; 

как работают отлично кроме первого упоминается Может кто-нибудь указать, почему?!

+0

можете ли вы проверить, что класс, который вы ищете, находится внутри загруженного файла jar? Попробуйте взглянуть на «jar -tvf mylibrary.jar» и посмотреть, есть ли он там. –

ответ

5

Пакет org.apache.lucene.analysis.PorterStemmer не является общедоступным пакетом, поэтому вы не можете его импортировать. Если вы посмотрите на этот пакет внутри библиотеки, вы заметите, что он начинается с class PorterStemmer вместо public class PorterStemmer.

+0

Oh ya Thats right ... Частный – Chinmay

+2

Это не частный. .it имеет доступ по умолчанию. Вы можете иметь только вложенные частные классы – naresh

2

Я предполагаю, что у вас есть другая версия Lucene JAR, которая не содержит класс, который не работает. Откройте JAR с помощью WinZip, 7Zip или другого инструмента и посмотрите, действительно ли этот класс отсутствует. Если это так, вам нужно либо найти версию JAR, у которой она есть, либо переписать код, чтобы использовать альтернативу.

+0

У меня есть lucene-3.4.0 2/lucene-core-3.4.0.jar, и я вижу класс PorterStemmer.class в этом пакете – Chinmay

+0

По ошибке он не говорит, что «класс не может быть разрешен». Он говорит «import org.apache.lucene.analysis.PorterStemmer не отображается « – Chinmay

+2

Является ли он непубличным? –

Смежные вопросы