import ICTCLAS.ICTCLAS50;import java.util.*;
import java.io.*; public class Test extends ICTCLAS50{
    public static void main(String[] args)
{
         try
{
Test testICTCLAS50 = new Test();
//分词所需库的路径
String argu = ".";
//初始化
if (testICTCLAS50.ICTCLAS_Init(argu.getBytes("GB2312")) == false)
{
System.out.println("Init Fail!");
return;
}
else { System.out.println("Init Succeed!"); }  String sInput="点击下载超女纪敏佳深受观众喜爱。禽流感爆发在非典之后。";
byte nativeBytes[] = testICTCLAS50.ICTCLAS_ParagraphProcess(sInput.getBytes("GB2312"), 0, 1);
System.out.println(nativeBytes.length);
String nativeStr = new String(nativeBytes, 0, nativeBytes.length, "GB2312");
System.out.println("The result is :" + nativeStr);
testICTCLAS50.ICTCLAS_Exit();
}
catch (Exception ex){

}
}
这是中科院分词软件提供的jni接口里的样例代码,我运行的时候报出下面错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: ICTCLAS.ICTCLAS50.ICTCLAS_Init([B)Z
at ICTCLAS.ICTCLAS50.ICTCLAS_Init(Native Method)
at test.Test.main(Test.java:17)不懂?求助!

解决方案 »

  1.   

    最开始尝试了很多方便,比如修改classpath,修改usr_path等,仍然会报错。后来将ICTCLAS50.java放在他给的例子里面有个包 ICTCLAS.I3S.AC下,结果运行正确。可能是开发ICTCLAS50为了保护版权考虑,如果不在package ICTCLAS.I3S.AC下就会报错。
      

  2.   


    非常感谢!! 现在不报错了,但是控制台总是输出“Init Fail!”
    我记得使用分词工具超过30天的话就无效,工具就老提示初始化失败,难道java接口也是吗?