2012-01-29 80 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