解决 ICTCLAS 2009 Windows_JNI_32 在 Web Project无法使用的方法

终于解决 在 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编译的,只是不知道这个变量是从那里读入的... "

 

 

你可能感兴趣的:(windows)