庖丁解牛 dic home should not be a file, but a directory!

12 篇文章 0 订阅

最近一个项目,用到了paoding分词器。
在开发阶段我将词库放到了src目录,配置文件使用了classpath:dic,目的是为了增加可移植性。


发现问题:在启动服务器的时候抛出 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 dicHomeFile = getFile(dicHome);
String path="";
try {
	path = URLDecoder.decode(dicHomeFile.getPath(),"UTF-8");
} catch (UnsupportedEncodingException e) {
	e.printStackTrace();
}
dicHomeFile = new File(path);


修正的jar包: paoding-analysis.jar

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值