终于解决 在 MyEclipse 下 的Web Project 中的 一个 jsp 文件中 使用 ICTCLAS 2009 Windows_JNI_32。
原来总是出现 下列错误信息
java.lang.NoClassDefFound : Could not initialize class ICTCLAS.I3C.AC.ICTCLAS30
曾经怀疑 是 System.loadLibrary的错误,
package ICTCLAS.I3S.AC
public class ICTCLAS30 {
。。。。。。。
static {
System.loadLibrary("ICTCLAS30");
}
}
但是换为
System.load("ICTCLAS30.dll绝对路径")
后 ,错误依旧。
后来发现 下面的 文章
http://topic.csdn.net/t/20060812/15/4945156.html#
".....这个问题归结起来是工作目录的问题。这个程序在本地运行是可以找到Data目录的。我发现只要把dll和Data文件夹放在工作目录(working directory)下面就可以运行成功。因此,在Tomcat下我把dll文件放在了Tomcat根目录下,然后把Data文件夹也放在了这个根目录下,同时把java.library.path也设置到Tomcat的根目录,一切终于搞定了。 ...... "
于是
Step-1
(1) Data文件夹 (2) ICTCLAS30.dll (3)Configure.xml (4) userdic.txt (5) Test.txt (6) Test_result.txt
拷贝到
C:\Program Files\Apache Software Foundation\Tomcat 6.0
Step-2 (后来实验证明只需要 执行 Step-1,而不需要执行 Stemp-2,也可以)
右击屏幕右下角,apache tomcat 图标,选择 configure,在 java option 一栏添加
- Djava.library.path = C:\Program Files\Apache Software Foundation\Tomcat 6.0
注:关于
-Djava.library.path=C:\Program Files\Apache Software Foundation\Tomcat 6.0
的设置方法,受到 下面帖子的启发
http://www.javaeye.com/topic/24285
" ...终于可以了,在windows任务栏里的Tomcat Monitor里有一个java classpath,在哪里加入了java.library.path的位置,才最后完成servlet编译的,只是不知道这个变量是从那里读入的... "