Java调用ICTCLAS2016遇到的各种坑

来源:互联网 发布:网站备案和域名备案 编辑:程序博客网 时间:2024/05/08 08:06

文章内容分别出自:

http://blog.csdn.net/chwyh/article/details/48286957
http://www.cnblogs.com/ljy2013/p/5920920.html
感谢作者,对我帮助很大!


1、首先解压并找到:20150805111452_20150702124141_ICTCLAS2015 (1).zip\汉语分词20140928\sample\Java\JNA ——解包大小

      为 168.6 MB。

2、JNA下有个JnaTest_NLPIR文件夹,复制出来放到你的Eclipse工程文件夹下,并导入eclipse中。

3、找到20150805111452_20150702124141_ICTCLAS2015 (1).zip\汉语分词20140928\lib —— 解包大小为 168.6 MB文件,对号入座,

     我的是64位,就将win64 中的文件拷贝至步骤2中的JnaTest_NLPIR中(里边已经有一个dll 文件,直接覆盖就行)。

4、检查你的工程文件是否报错,很有可能jar包报错,自己bulidpath一下就行。


至此就可以运行一下工程文件中src/code/NlpirTest.Java文件,幸运的一般就可以用了,不过绝大部分是不行的会报错“初始化失败”,原因是工程文件夹中的data文件不是最新的,只需把20150805111452_20150702124141_ICTCLAS2015 (1).zip\汉语分词20140928\Data - 解包大小为 168.6 MB,文件中的内容替换掉工程的data内容就行。


下面说说我踩得坑:

坑1、如上述描述,非常简单的使用,硬是给我搞了一天才搞定,这说明什么?刚开始我所遇到的是CLibrary Instance = (CLibrary) Native.loadLibrary( "NLPIR", CLibrary.class);这句到底是加载什么路径下的库文件。费了很大的劲,最后采用的是使用相对路径。只需要填写“NLPIR”即可。并且这个名字是不可以改变的。

坑2、当你将NLPIR.dll文件添加到工程后,以为应该是可以了,但是还是报错,报如下错误:

这个错误主要原因是dll文件位数与操作系统的位数不一致所造成的。由于我是64位的操作系统,所以讲NLPIR.dll文件换成64位的即可。

坑3、当你上面都搞定了,运行之后,会报"初始化失败"的错误,这个错误刚开始搞了好久,没弄明白,因为觉得自己都配置好了,为什么还是初始化失败,这也是我花费时间最长的地方。后来网上一查发现,原来是有一个license。它是有时间的限制的。于是需要更换最新的license。去哪里更换呢?我在网上找到一个人的电话,直接打电话过去问的,听过那人介绍,原来在下载的时候,有标明license下载的地方。如下所示:https://github.com/NLPIR-team/NLPIR/tree/master/License

license原来是在这里下载。搞了半天,license放到了这么隐蔽的位置。


用svn在github上直接下载licese文件,路径为:https://github.com/NLPIR-team/NLPIR/tree/master/License,

在svn中把路径改为:https://github.com/NLPIR-team/NLPIR/trunk/License,即可快速下载licese文件了,找到



替换掉工程中data目录下的同名文件,再运行测试代码即可成功。


0 0