网上例子有很多,配置的步骤也没有错,但是按照网上的配置,依然跑不起来,今天做个整理说明。
以下部分转自http://www.open-open.com/lib/view/open1434183624567.html
首先,下载中科院分词项目。
github网址:https://github.com/NLPIR-team/NLPIR/tree/master/NLPIR%20SDK/NLPIR-ICTCLAS
下载完成之后直接在eclipse中导入如图所示的项目
工程源码在sample目录下,包含C、C++、Hadoop、JAVA、Python等语言示例。
用Eclipse新建一个工程导入JAVA工程目录JnaTest_NLPIR,
(1)Eclipse -> File->import
(2)选择JnaTest_NLPIR所在的路径,点击Finish
(3)查看Eclipse工程
(4)NlpirTest.java文件中包含main函数,下面的语句初始化NLPIR需要的库文件
CLibrery类是包含在NlpirTest.java文件中,
CLibrary Instance = (CLibrary) Native.loadLibrary("H:\\workspace\\ictclas\\1\\ICTCLAS2015\\lib\\win64\\NLPIR", CLibrary.class);
函数loadLibrary需要传递库文件位置,源码提供了多种语言类库,我们的工程需要加载win64类库,该文件夹内容如下,
(5)加载分词数据Data文件夹路径
String argu = "H:\\workspace\\ictclas\\1\\ICTCLAS2015"; String system_charset = "UTF-8"; int charset_type = 1; int init_flag = CLibrary.Instance.NLPIR_Init(argu, charset_type, "0");
H:\\workspace\\ictclas\\1\\ICTCLAS2015是Data文件夹的父文件夹。
这步骤完成后,你就可以调试代码了。有关API可以阅读手册。
以上部分转自 http://www.open-open.com/lib/view/open1434183624567.html
我按照上面的方法依然出错,虽然路径配置没有错误,但是究其原因不知为何,调试代码总会出现如下错误提示:
后来终于找到了解决方法,至于为什么会突然就可以运行了,本人依然没有找到原因,现将解决办法做如下说明:
如果NLPIR的本地路径在JnaTest_V1这个文件夹里面,调试代码就会出现以上错误,如下图
后来将NLPIR.dll和NLPIR.lib以及Data单独存放与一个文件夹中,该文件夹不以JnaTest_V1为父文件夹,重新修改以上两个路径,代码终于调试出了。
在eclipse中NlpirTest.java有两个路径需要改;
一是修改
CLibrary Instance = (CLibrary) Native.loadLibrary("D:\\NLPIR\\bin\\ICTCLAS2013\\x64\\NLPIR", CLibrary.class);
修改为:
CLibrary Instance = (CLibrary) Native.loadLibrary("F:/zhongkeyuan/NLPIR", CLibrary.class);
也就是NLPIR所在的本地路径,要加上NLPIR。
二是修改 String argu = "F:/zhongkeyuan";中双引号的路径,如下
public static void main(String[] args) throws Exception { String argu = "F:/zhongkeyuan"; // String system_charset = "GBK";//GBK----0 String system_charset = "UTF-8";
运行程序,出现如下结果
至此,配置完成