将中科院分词软件 ICTCLAS50 嵌入到 Struts2 开发的Java Web项目中

来源:互联网 发布:txt转azw3软件 编辑:程序博客网 时间:2024/05/01 03:54

ICTCLAS50是NLP专业中非常常用的分词工具,将其嵌入到Java程序中是非常简单的,网上也有相应的教程。由于开发的需要,我尝试将ICTCLAS50部署到基于Struts2开发的Java Web中去,结果遇到了问题,而网上可供参考的资料并不多。经过不懈努力,最终解决,现总结如下。

前提:采用独立安装的Tomcat进行调试。这并不是必需的,如果愿意,你完全可以利用MyEclipse自带的Tomcat进行调试。因为本人是用独立安装的Tomcat来调试的,所以我只说我是怎样做的。

1、从网上下载ICTCLAS50,通常它是个压缩包,解压后里面应该有4个文件夹,我们需要的是API文件夹。

2、将API文件夹中,除ICTCLAS文件夹以外的其它所有文件复制到Tomcat安装目录的bin文件夹下

3、将API文件夹中的ICTCLAS文件夹作为一个Package,加载到你项目的src中(在MyEclipse中可以直接复制粘贴进去,会自动变为一个package)

4、再回到我们解压的ICTCLAS50文件夹中,会看到一个Sample文件夹,这是一个样例,可以参考其中的TestMain.java程序,在你的项目中编写自己的程序


其实大体上到这里已经算完了,不过我做到这一步遇到一个问题,我是直接将调用ICTCLAS程序的代码写到action的execute()方法中的,但是不能运行。后来,我又在类中编写一个main方法,发现这个类程序完全可以正常运行。百思不得其解呀。所以后来想了一个别的办法,将调用ICTCLAS的程序单独放到一个java文件中,然后再另外编写一个action对应的类,在其execute()中调用那个单独存放的类,然后就木有然后了,一直都正常了!

哦,差点忘了,这中间还有一个小插曲,我将ICTCLAS配置在独立安装的Tomcat中,但是在MyEclipse中却是调用自带的Tomcat进行调试,结果总是提示init fail,后来在同学的提示下才发现这个问题的。因为我是新手,所以还需要小心谨慎呀!