问题描述
- IKAnalyzer2012_FF和lucene5.4运行异常
-
各位好,我想在android上运行中文分词程序,目前用的是IKAnalyzer2012_FF和lucene5.4,但是在运行的时候报了异常,异常如下: Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.Analyzer.createComponents(Ljava/lang/String;)Lorg/apache/lucene/analysis/Analyzer$TokenStreamComponents; at org.apache.lucene.analysis.Analyzer.tokenStream(Analyzer.java:140) at cn.nubia.com.iktest.MainTest.main(MainTest.java:25) 网上查到资料都说是由于lucene版本过低导致的,但是从IKAnalyzer的说明文档来看2012版应该是对lucene3.3以上版本兼容的,而且我使用lucene3.6也不行,请问有没有哪位大神能指导一二啊,谢谢了。下面是测试的代码。 import java.io.IOException;
import java.io.StringReader;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.wltea.analyzer.lucene.IKAnalyzer;public class MainTest {
/** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub System.out.println("lztest"); String text="基于java语言开发的轻量级的中文分词工具包"; //创建分词对象 Analyzer anal=new IKAnalyzer(true); StringReader reader=new StringReader(text); //分词 TokenStream ts=anal.tokenStream("", reader); CharTermAttribute term=ts.getAttribute(CharTermAttribute.class); //遍历分词数据 while(ts.incrementToken()){ System.out.print(term.toString()+"|"); } reader.close(); System.out.println(); }
}
解决方案
时间: 2024-08-03 19:41:34