庖丁解牛 报错 PAODING_DIC_HOME

今天在弄paoding 庖丁中文分词的时候,碰到了这个错误:

please set a system env PAODING_DIC_HOME or Config paoding.dic.home in paoding-dic-home.properties point to the dictionaries!

在网上搜了下解决方法.

#values are “system-env” or “this”;
#if value is “this” , using the paoding.dic.home as dicHome if configed!
#paoding.dic.home.config-fisrt=system-env

#dictionary home (directory)
#”classpath:xxx” means dictionary home is in classpath.
#e.g “classpath:dic” means dictionaries are in “classes/dic” directory or any other classpath directory
#paoding.dic.home=dic


#seconds for dic modification detection
#paoding.dic.detector.interval=60
paoding.dic.home=classpath:dic // dic 所在目录
paoding.dic.home.config-fisrt=this //应用当前的配置

按照上面的方法弄完之后,还是报错,报的是这个错误:

dic home should not be a file, but a directory!

继续找吧.

解决方法如下:

发现问题:在启动服务器的时候抛出 net.paoding.analysis.exception.PaodingAnalysisException: dic home should not be a file, but a directory!
分析问题:这是因为PaodingMaker.getFile()方法中采用了老版本的java.net.URL.getFile(),不能够识别中文或者空格,只有采用URL.toURI().getPath()才能识别汉字与空格。

 

解决问题:需要修改一下Paoding中的代码了。找到PaodingMaker.java的setDicHomeProperties方法,修改File dicHomeFile = getFile(dicHome);为

File dicHomeFile2 = getFile(dicHome);   
        String path="";   
        try {   
            path = URLDecoder.decode(dicHomeFile2.getPath(),"UTF-8");   
        } catch (UnsupportedEncodingException e) {   
            e.printStackTrace();   
        }   
    File dicHomeFile = new File(path); 

至此,庖丁解牛的这个就算弄好了.

以上解决部分转自:
http://blog.csdn.net/yahuvi/article/details/5830425
http://hi.baidu.com/%CE%D2%BA%DC%B0%AE%D5%C5%B2%AE%C2%D7/blog/item/1c386d2229742f5e9922ed49.html

庖丁解牛 报错 PAODING_DIC_HOME》有3个想法

  1. 脑袋说道:

    庖丁解牛的jar包可以解压,然后放到项目的src目录下,这样上面说的paoding-analysis.proerties文件就可以打开了,要不在jar包里是不能修改的.

  2. 脑袋说道:

    打开paoding-analysis.properties,把paoding.dic.home属性设置为字
    典的安装目录,比如paoding.dic.home=/data/paoding/dic,特别的,如
    果字典是安装在classpath下的dic目录下,则可以简单这样配置该属性:
    paoding.dic.home=classpath:dic

发表评论

返回顶部