2012-01-29 54 views
0

我导入此如下:Java库类未识别?

在Java程序
import org.apache.lucene.analysis.PorterStemmer 

。整个软件包可在refrenced库中找到。

我试图导入

import org.apache.lucene.analysis.PorterStemFilter 

import org.apache.lucene.analysis.Analyzer; 

两者都工作除了第一个精细提到 任何人都可以指出为什么?!

+0

你可以验证你正在寻找的类是在加载的jar文件中吗?试着看看“jar -tvf mylibrary.jar”,看看它是否在那里。 – 2012-01-29 22:42:36

回答

5

org.apache.lucene.analysis.PorterStemmer不是一个公共包,这就是为什么你不能导入它。如果您在库中查看此包,您会注意到它始于class PorterStemmer而不是public class PorterStemmer

+0

哦,雅这就是...它的私人 – Chinmay 2012-01-29 23:04:05

+2

这不是私人的。 。它具有默认访问权限。你只能有嵌套的私人类 – naresh 2012-01-30 14:34:47

2

我的猜测是你有不同版本的Lucene JAR,它不包含无法工作的类。用WinZip,7Zip或其他工具打开JAR,看看这个类是否确实丢失。如果是这样,你需要找到具有它的JAR版本或者重写你的代码来使用替代方案。

+0

我有lucene-3.4.0 2/lucene-core-3.4.0.jar,我可以在这个包中看到PorterStemmer.class类 – Chinmay 2012-01-29 22:47:24

+0

错误它并不是说“类无法解析”它说“import org.apache.lucene.analysis.PorterStemmer不可见“ – Chinmay 2012-01-29 22:51:29

+2

它是非公开类吗? – 2012-01-29 22:58:26