• ICTCLAS 2009 JNI_32 遇到MyEclipse Web Project下无法运行


    今天在MyEclipse 中,创建 Java Project 测试 Windows_JNI_32 包中的 sample通过。

    但是,在MyEclipse中创建WebProject 测试时出现问题,

    Cannot initialize ICTCLAS.I3S.AC.ICTCLAS30. 

    在网上找到两篇文章

    文章一:  http://topic.csdn.net/t/20060810/23/4941686.html#

    我在项目中使用ICTCLAS   JavaJNI包进行分词,在部署到tomcat5.5之后,我发现ICTCLAS的Data文件夹在程序中无法找到,ICTCLAS.dll放在tomcat\bin目录下,我试过把Data目录也放到这里,可是依然找不到这个目录里面的文件,我也试过把这个目录放在web-inf,classes目录下,都不行,请教高手这个data目录到底应该放在哪里?

    文章二:http://topic.csdn.net/t/20060812/15/4945156.html

    我的webapp用到一个dll,这个dll使用了一个Data目录中的文件,我把dll和这个Data文件夹都放到了tomcat的bin目录下,dll文件可以被webapp找到,可是这个Data目录却不行,dll找不到这个Data目录以及其中的文件。我也尝试过将Data文件夹放到classes目录,WEB-INF目录下,可是都不行?该怎么办啊??谢谢大家~~~解决之后在加100分 问题点数:100、回复次数:13Top

    1 楼yaray(雅睿,生活在别处)回复于 2006-08-12 16:23:33 得分 10

    JNI问题,你可以在网上找找,可以找到很多答案的.Top

    2 楼theforever(碧海情天)回复于 2006-08-12 17:02:30 得分 10

    DLL使用的是绝对路径吧Top

    3 楼huihui0103()回复于 2006-08-12 17:08:17 得分 5

    仔细查查JNITop

    4 楼will123()回复于 2006-08-12 17:14:44 得分 5

    学习Top

    5 楼ykzhujiang(朱朱)回复于 2006-08-12 19:31:59 得分 0

    dll使用的肯定不是决对路径,我试过的。楼上的大哥们能具体说说嘛,到底是什么JNI问题Top

    6 楼ykzhujiang(朱朱)回复于 2006-08-13 20:10:19 得分 0

    UPTop

    7 楼feigme(泡沫微笑。o 0)回复于 2006-08-13 20:15:04 得分 5

    关注  
      UP  
      JFTop

    8 楼cczmf(拔刀相助!!! 吼吼)回复于 2006-08-13 20:57:54 得分 15

    WEB-INF文件夹必须紧跟在发布的文件夹下,中间不能有多重文件夹,WEB-INF下放的是classes文件夹,classes文件夹下是***文件夹,他下面才是***.class文件,你也要在WEB-INF下放上web.xml文件,这样试试看,也许能行Top

    9 楼haitao8686()回复于 2006-08-13 22:10:54 得分 15

    文件目录    
      --WEB-INF  
          ----LIB  
          ----CLASSESTop

    10 楼theforever(碧海情天)回复于 2006-08-14 09:43:41 得分 15

    如果Data目录是可以任意放置并用参数传递给DLL的,可以把它放在WEB应用的目录或其它子目录下试试.  
       
      正常讲,DLL使用时应该是在服务器端调用,然后把结果返回客户端,使用的应该是服务端本身的文件操作机制.但有的应用好像也不尽如此,也有用服务器URL地址的.你得看看你这种到底是哪种情形.Top

    11 楼zhmt(孜风)回复于 2006-08-14 09:57:58 得分 10

    up!  
       
      mark!Top

    12 楼ykzhujiang(朱朱)回复于 2006-08-14 12:08:31 得分 0

    谢谢楼上的大哥们,问题暂时解决了,是这个样子的:  
      这个问题归结起来是工作目录的问题。这个程序在本地运行是可以找到Data目录的。我发现只要把dll和Data文件夹放在工作目录(working   directory)下面就可以运行成功。因此,在Tomcat下我把dll文件放在了Tomcat根目录下,然后把Data文件夹也放在了这个根目录下,同时把java.library.path也设置到Tomcat的根目录,一切终于搞定了。  
      可是这引发了一个新的问题,那就是如何改变工作目录呢?比如我只想把这个文件放在我自己的webapp下面,那我应该怎样做呢。  
      我发现通过-Duser.dir=...的方式好像并不能改变工作目录,我在sun网站的bug列表里面也发现有人提出类似的问题。http://bugs.sun.com/bugdatabase/view_bug.do:YfiG?bug_id=4030989  
      不知道现在这个问题解决了没有,希望高手介绍一下。谢谢!

  • 相关阅读:
    【转】SQL SERVER函数无法执行对数据库的修改语句
    【转】用SQL实现树的查询
    HTML: < 和 > 是何方神圣
    ASP.NET的一些小问题
    C#的MD5哈希值计算
    高度自适应的CSS
    [转]WCF类型共享技巧
    使用.net的跟踪诊断来记录wcf消息
    【转】js frame 框架编程
    js点击button按钮跳转到页面代码
  • 原文地址:https://www.cnblogs.com/cy163/p/1708592.html
Copyright © 2020-2023  润新知