java吧 关注:1,256,534贴子:12,747,985
  • 1回复贴,共1

求助大神,使用IKAnalyzer2012实现分词

只看楼主收藏回复

代码如下:
package com.util.analyseWords;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;
public class AnalyseWords {
private List<String> words = new ArrayList<String>();
public AnalyseWords(String query){
Reader reader = new StringReader(query);
IKSegmenter ik = new IKSegmenter(reader, true);
try {
Lexeme lex = null;
while(true){
lex = ik.next();
words.add(lex.getLexemeText());
}
} catch (NullPointerException e) {
//System.out.println("--null--");
} catch (IOException e) {
e.printStackTrace();
}
}
public List<String> getWords() {
return words;
}
public void setWords(List<String> words) {
this.words = words;
}
public static void main(String[] args) {
AnalyseWords an = new AnalyseWords("基于hbase的海量视频存储技术的研究");
for(String word : an.getWords()){
System.out.println(word);
}
}
}
在window下测试是正常的:


1楼2015-05-06 15:52回复
    可是,在虚拟机里面就抛出异常了:
    Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.wltea.analyzer.core.IKSegmenter.<init>(IKSegmenter.java:63)
    at com.util.analyseWords.AnalyseWords.<init>(AnalyseWords.java:16)
    at com.util.analyseWords.AnalyseWords.main(AnalyseWords.java:39)
    Caused by: java.lang.NullPointerException
    at org.wltea.analyzer.cfg.DefualtConfig.<init>(DefualtConfig.java:79)
    at org.wltea.analyzer.cfg.DefualtConfig.<clinit>(DefualtConfig.java:43)
    ... 3 more
    这是什么原因?


    2楼2015-05-06 15:53
    回复